; 
; Exports of file IisRTL.DLL
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY IisRTL.DLL
EXPORTS
; public: __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::CDataCache<struct DATETIME_FORMAT_ENTRY>(void)
??0?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAE@XZ
; public: __thiscall CDataCache<class CDateTime>::CDataCache<class CDateTime>(void)
??0?$CDataCache@VCDateTime@@@@QAE@XZ
; public: __thiscall ALLOC_CACHE_HANDLER::ALLOC_CACHE_HANDLER(char const *,struct _ALLOC_CACHE_CONFIGURATION const *,int)
??0ALLOC_CACHE_HANDLER@@QAE@PBDPBU_ALLOC_CACHE_CONFIGURATION@@H@Z
; public: __thiscall ASCLOG_DATETIME_CACHE::ASCLOG_DATETIME_CACHE(void)
??0ASCLOG_DATETIME_CACHE@@QAE@XZ
; public: __thiscall BUFFER::BUFFER(unsigned int)
??0BUFFER@@QAE@I@Z
; public: __thiscall BUFFER::BUFFER(unsigned char *,unsigned int)
??0BUFFER@@QAE@PAEI@Z
; public: __thiscall BUFFER_CHAIN::BUFFER_CHAIN(void)
??0BUFFER_CHAIN@@QAE@XZ
; public: __thiscall BUFFER_CHAIN_ITEM::BUFFER_CHAIN_ITEM(unsigned int)
??0BUFFER_CHAIN_ITEM@@QAE@I@Z
; public: __thiscall CACHED_DATETIME_FORMATS::CACHED_DATETIME_FORMATS(void)
??0CACHED_DATETIME_FORMATS@@QAE@XZ
; public: __thiscall CCritSec::CCritSec(void)
??0CCritSec@@QAE@XZ
; public: __thiscall CDFTCache::CDFTCache(void)
??0CDFTCache@@QAE@XZ
; public: __thiscall CDateTime::CDateTime(struct _FILETIME const &)
??0CDateTime@@QAE@ABU_FILETIME@@@Z
; public: __thiscall CDateTime::CDateTime(struct _FILETIME const &,struct _SYSTEMTIME const &)
??0CDateTime@@QAE@ABU_FILETIME@@ABU_SYSTEMTIME@@@Z
; public: __thiscall CDateTime::CDateTime(struct _SYSTEMTIME const &)
??0CDateTime@@QAE@ABU_SYSTEMTIME@@@Z
; public: __thiscall CDateTime::CDateTime(void)
??0CDateTime@@QAE@XZ
; public: __thiscall CDoubleList::CDoubleList(void)
??0CDoubleList@@QAE@XZ
; public: __thiscall CEtwTracer::CEtwTracer(void)
??0CEtwTracer@@QAE@XZ
; public: __thiscall CFakeLock::CFakeLock(void)
??0CFakeLock@@QAE@XZ
; public: __thiscall CLKRHashTable::CLKRHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,unsigned long,bool)
??0CLKRHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK_N@Z
; public: __thiscall CLKRHashTableStats::CLKRHashTableStats(void)
??0CLKRHashTableStats@@QAE@XZ
; protected: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable *,short)
??0CLKRHashTable_Iterator@@IAE@PAVCLKRHashTable@@F@Z
; public: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(class CLKRHashTable_Iterator const &)
??0CLKRHashTable_Iterator@@QAE@ABV0@@Z
; public: __thiscall CLKRHashTable_Iterator::CLKRHashTable_Iterator(void)
??0CLKRHashTable_Iterator@@QAE@XZ
; private: __thiscall CLKRLinearHashTable::CLKRLinearHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,class CLKRHashTable *,bool)
??0CLKRLinearHashTable@@AAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAVCLKRHashTable@@_N@Z
; public: __thiscall CLKRLinearHashTable::CLKRLinearHashTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,unsigned long,bool)
??0CLKRLinearHashTable@@QAE@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKK_N@Z
; protected: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable *,class CNodeClump *,unsigned long,short)
??0CLKRLinearHashTable_Iterator@@IAE@PAVCLKRLinearHashTable@@PAVCNodeClump@@KF@Z
; public: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(class CLKRLinearHashTable_Iterator const &)
??0CLKRLinearHashTable_Iterator@@QAE@ABV0@@Z
; public: __thiscall CLKRLinearHashTable_Iterator::CLKRLinearHashTable_Iterator(void)
??0CLKRLinearHashTable_Iterator@@QAE@XZ
; public: __thiscall CLockedDoubleList::CLockedDoubleList(void)
??0CLockedDoubleList@@QAE@XZ
; public: __thiscall CLockedSingleList::CLockedSingleList(void)
??0CLockedSingleList@@QAE@XZ
; public: __thiscall CReaderWriterLock2::CReaderWriterLock2(void)
??0CReaderWriterLock2@@QAE@XZ
; public: __thiscall CReaderWriterLock3::CReaderWriterLock3(void)
??0CReaderWriterLock3@@QAE@XZ
; public: __thiscall CReaderWriterLock::CReaderWriterLock(void)
??0CReaderWriterLock@@QAE@XZ
; public: __thiscall CRtlResource::CRtlResource(void)
??0CRtlResource@@QAE@XZ
; public: __thiscall CShareLock::CShareLock(void)
??0CShareLock@@QAE@XZ
; public: __thiscall CSharelock::CSharelock(int,int)
??0CSharelock@@QAE@HH@Z
; public: __thiscall CSingleList::CSingleList(void)
??0CSingleList@@QAE@XZ
; public: __thiscall CSmallSpinLock::CSmallSpinLock(void)
??0CSmallSpinLock@@QAE@XZ
; public: __thiscall CSpinLock::CSpinLock(void)
??0CSpinLock@@QAE@XZ
; public: __thiscall EVENT_LOG::EVENT_LOG(char const *)
??0EVENT_LOG@@QAE@PBD@Z
; public: __thiscall EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void)
??0EXTLOG_DATETIME_CACHE@@QAE@XZ
; public: __thiscall HASH_TABLE::HASH_TABLE(class HASH_TABLE const &)
??0HASH_TABLE@@QAE@ABV0@@Z
; public: __thiscall HASH_TABLE::HASH_TABLE(unsigned long,char const *,unsigned long)
??0HASH_TABLE@@QAE@KPBDK@Z
; public: __thiscall HASH_TABLE_BUCKET::HASH_TABLE_BUCKET(void)
??0HASH_TABLE_BUCKET@@QAE@XZ
; public: __thiscall HTB_ELEMENT::HTB_ELEMENT(void)
??0HTB_ELEMENT@@QAE@XZ
; public: __thiscall HT_ELEMENT::HT_ELEMENT(class HT_ELEMENT const &)
??0HT_ELEMENT@@QAE@ABV0@@Z
; public: __thiscall HT_ELEMENT::HT_ELEMENT(void)
??0HT_ELEMENT@@QAE@XZ
; public: __thiscall MLSZAU::MLSZAU(class MLSZAU &)
??0MLSZAU@@QAE@AAV0@@Z
; public: __thiscall MLSZAU::MLSZAU(char * const,int,unsigned long)
??0MLSZAU@@QAE@QADHK@Z
; public: __thiscall MLSZAU::MLSZAU(char * const,unsigned long)
??0MLSZAU@@QAE@QADK@Z
; public: __thiscall MLSZAU::MLSZAU(unsigned short * const,unsigned long)
??0MLSZAU@@QAE@QAGK@Z
; public: __thiscall MLSZAU::MLSZAU(void)
??0MLSZAU@@QAE@XZ
; public: __thiscall MULTISZ::MULTISZ(class MULTISZ const &)
??0MULTISZ@@QAE@ABV0@@Z
; public: __thiscall MULTISZ::MULTISZ(char *,unsigned long)
??0MULTISZ@@QAE@PADK@Z
; public: __thiscall MULTISZ::MULTISZ(char const *)
??0MULTISZ@@QAE@PBD@Z
; public: __thiscall MULTISZ::MULTISZ(void)
??0MULTISZ@@QAE@XZ
; public: __thiscall STR::STR(class STR const &)
??0STR@@QAE@ABV0@@Z
; public: __thiscall STR::STR(unsigned long)
??0STR@@QAE@K@Z
; public: __thiscall STR::STR(char *,unsigned long,int)
??0STR@@QAE@PADKH@Z
; public: __thiscall STR::STR(char const *)
??0STR@@QAE@PBD@Z
; public: __thiscall STR::STR(void)
??0STR@@QAE@XZ
; private: __thiscall STRA::STRA(class STRA const &)
??0STRA@@AAE@ABV0@@Z
; private: __thiscall STRA::STRA(char *)
??0STRA@@AAE@PAD@Z
; private: __thiscall STRA::STRA(char const *)
??0STRA@@AAE@PBD@Z
; public: __thiscall STRA::STRA(char *,unsigned long)
??0STRA@@QAE@PADK@Z
; public: __thiscall STRA::STRA(void)
??0STRA@@QAE@XZ
; public: __thiscall STRAU::STRAU(class STRAU &)
??0STRAU@@QAE@AAV0@@Z
; public: __thiscall STRAU::STRAU(char const *)
??0STRAU@@QAE@PBD@Z
; public: __thiscall STRAU::STRAU(char const *,int)
??0STRAU@@QAE@PBDH@Z
; public: __thiscall STRAU::STRAU(unsigned short const *)
??0STRAU@@QAE@PBG@Z
; public: __thiscall STRAU::STRAU(void)
??0STRAU@@QAE@XZ
; private: __thiscall STRU::STRU(class STRU const &)
??0STRU@@AAE@ABV0@@Z
; private: __thiscall STRU::STRU(unsigned short *)
??0STRU@@AAE@PAG@Z
; private: __thiscall STRU::STRU(unsigned short const *)
??0STRU@@AAE@PBG@Z
; public: __thiscall STRU::STRU(unsigned short *,unsigned long)
??0STRU@@QAE@PAGK@Z
; public: __thiscall STRU::STRU(void)
??0STRU@@QAE@XZ
; public: __thiscall TS_RESOURCE::TS_RESOURCE(void)
??0TS_RESOURCE@@QAE@XZ
; public: __thiscall W3_DATETIME_CACHE::W3_DATETIME_CACHE(void)
??0W3_DATETIME_CACHE@@QAE@XZ
; public: __thiscall ALLOC_CACHE_HANDLER::~ALLOC_CACHE_HANDLER(void)
??1ALLOC_CACHE_HANDLER@@QAE@XZ
; public: virtual __thiscall ASCLOG_DATETIME_CACHE::~ASCLOG_DATETIME_CACHE(void)
??1ASCLOG_DATETIME_CACHE@@UAE@XZ
; public: __thiscall BUFFER::~BUFFER(void)
??1BUFFER@@QAE@XZ
; public: __thiscall BUFFER_CHAIN::~BUFFER_CHAIN(void)
??1BUFFER_CHAIN@@QAE@XZ
; public: __thiscall BUFFER_CHAIN_ITEM::~BUFFER_CHAIN_ITEM(void)
??1BUFFER_CHAIN_ITEM@@QAE@XZ
; public: virtual __thiscall CACHED_DATETIME_FORMATS::~CACHED_DATETIME_FORMATS(void)
??1CACHED_DATETIME_FORMATS@@UAE@XZ
; public: __thiscall CCritSec::~CCritSec(void)
??1CCritSec@@QAE@XZ
; public: __thiscall CDoubleList::~CDoubleList(void)
??1CDoubleList@@QAE@XZ
; public: __thiscall CEtwTracer::~CEtwTracer(void)
??1CEtwTracer@@QAE@XZ
; public: __thiscall CFakeLock::~CFakeLock(void)
??1CFakeLock@@QAE@XZ
; public: __thiscall CLKRHashTable::~CLKRHashTable(void)
??1CLKRHashTable@@QAE@XZ
; public: __thiscall CLKRHashTable_Iterator::~CLKRHashTable_Iterator(void)
??1CLKRHashTable_Iterator@@QAE@XZ
; public: __thiscall CLKRLinearHashTable::~CLKRLinearHashTable(void)
??1CLKRLinearHashTable@@QAE@XZ
; public: __thiscall CLKRLinearHashTable_Iterator::~CLKRLinearHashTable_Iterator(void)
??1CLKRLinearHashTable_Iterator@@QAE@XZ
; public: __thiscall CLockedDoubleList::~CLockedDoubleList(void)
??1CLockedDoubleList@@QAE@XZ
; public: __thiscall CLockedSingleList::~CLockedSingleList(void)
??1CLockedSingleList@@QAE@XZ
; public: __thiscall CRtlResource::~CRtlResource(void)
??1CRtlResource@@QAE@XZ
; public: __thiscall CShareLock::~CShareLock(void)
??1CShareLock@@QAE@XZ
; public: __thiscall CSharelock::~CSharelock(void)
??1CSharelock@@QAE@XZ
; public: __thiscall CSingleList::~CSingleList(void)
??1CSingleList@@QAE@XZ
; public: __thiscall EVENT_LOG::~EVENT_LOG(void)
??1EVENT_LOG@@QAE@XZ
; public: virtual __thiscall EXTLOG_DATETIME_CACHE::~EXTLOG_DATETIME_CACHE(void)
??1EXTLOG_DATETIME_CACHE@@UAE@XZ
; public: virtual __thiscall HASH_TABLE::~HASH_TABLE(void)
??1HASH_TABLE@@UAE@XZ
; public: __thiscall HASH_TABLE_BUCKET::~HASH_TABLE_BUCKET(void)
??1HASH_TABLE_BUCKET@@QAE@XZ
; public: __thiscall HTB_ELEMENT::~HTB_ELEMENT(void)
??1HTB_ELEMENT@@QAE@XZ
; public: virtual __thiscall HT_ELEMENT::~HT_ELEMENT(void)
??1HT_ELEMENT@@UAE@XZ
; public: __thiscall MLSZAU::~MLSZAU(void)
??1MLSZAU@@QAE@XZ
; public: __thiscall MULTISZ::~MULTISZ(void)
??1MULTISZ@@QAE@XZ
; public: __thiscall STR::~STR(void)
??1STR@@QAE@XZ
; public: __thiscall STRA::~STRA(void)
??1STRA@@QAE@XZ
; public: __thiscall STRAU::~STRAU(void)
??1STRAU@@QAE@XZ
; public: __thiscall STRU::~STRU(void)
??1STRU@@QAE@XZ
; public: __thiscall TS_RESOURCE::~TS_RESOURCE(void)
??1TS_RESOURCE@@QAE@XZ
; public: virtual __thiscall W3_DATETIME_CACHE::~W3_DATETIME_CACHE(void)
??1W3_DATETIME_CACHE@@UAE@XZ
; public: static void * __stdcall CLKRLinearHashTable::operator new(unsigned int)
??2CLKRLinearHashTable@@SGPAXI@Z
; public: static void __stdcall CLKRLinearHashTable::operator delete(void *)
??3CLKRLinearHashTable@@SGXPAX@Z
; public: class CDataCache<struct DATETIME_FORMAT_ENTRY> & __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::operator=(class CDataCache<struct DATETIME_FORMAT_ENTRY> const &)
??4?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAEAAV0@ABV0@@Z
; public: class CDataCache<class CDateTime> & __thiscall CDataCache<class CDateTime>::operator=(class CDataCache<class CDateTime> const &)
??4?$CDataCache@VCDateTime@@@@QAEAAV0@ABV0@@Z
; public: class CLockBase<1,1,3,1,3,2> & __thiscall CLockBase<1,1,3,1,3,2>::operator=(class CLockBase<1,1,3,1,3,2> const &)
??4?$CLockBase@$00$00$02$00$02$01@@QAEAAV0@ABV0@@Z
; public: class CLockBase<2,1,1,1,3,2> & __thiscall CLockBase<2,1,1,1,3,2>::operator=(class CLockBase<2,1,1,1,3,2> const &)
??4?$CLockBase@$01$00$00$00$02$01@@QAEAAV0@ABV0@@Z
; public: class CLockBase<3,1,1,1,1,1> & __thiscall CLockBase<3,1,1,1,1,1>::operator=(class CLockBase<3,1,1,1,1,1> const &)
??4?$CLockBase@$02$00$00$00$00$00@@QAEAAV0@ABV0@@Z
; public: class CLockBase<4,1,1,2,3,3> & __thiscall CLockBase<4,1,1,2,3,3>::operator=(class CLockBase<4,1,1,2,3,3> const &)
??4?$CLockBase@$03$00$00$01$02$02@@QAEAAV0@ABV0@@Z
; public: class CLockBase<5,2,1,2,3,3> & __thiscall CLockBase<5,2,1,2,3,3>::operator=(class CLockBase<5,2,1,2,3,3> const &)
??4?$CLockBase@$04$01$00$01$02$02@@QAEAAV0@ABV0@@Z
; public: class CLockBase<6,2,1,2,3,3> & __thiscall CLockBase<6,2,1,2,3,3>::operator=(class CLockBase<6,2,1,2,3,3> const &)
??4?$CLockBase@$05$01$00$01$02$02@@QAEAAV0@ABV0@@Z
; public: class CLockBase<7,2,2,1,3,2> & __thiscall CLockBase<7,2,2,1,3,2>::operator=(class CLockBase<7,2,2,1,3,2> const &)
??4?$CLockBase@$06$01$01$00$02$01@@QAEAAV0@ABV0@@Z
; public: class CLockBase<8,2,2,1,3,2> & __thiscall CLockBase<8,2,2,1,3,2>::operator=(class CLockBase<8,2,2,1,3,2> const &)
??4?$CLockBase@$07$01$01$00$02$01@@QAEAAV0@ABV0@@Z
; public: class CLockBase<9,2,1,1,3,2> & __thiscall CLockBase<9,2,1,1,3,2>::operator=(class CLockBase<9,2,1,1,3,2> const &)
??4?$CLockBase@$08$01$00$00$02$01@@QAEAAV0@ABV0@@Z
; public: class ALLOC_CACHE_HANDLER & __thiscall ALLOC_CACHE_HANDLER::operator=(class ALLOC_CACHE_HANDLER const &)
??4ALLOC_CACHE_HANDLER@@QAEAAV0@ABV0@@Z
; public: class BUFFER & __thiscall BUFFER::operator=(class BUFFER const &)
??4BUFFER@@QAEAAV0@ABV0@@Z
; public: class BUFFER_CHAIN & __thiscall BUFFER_CHAIN::operator=(class BUFFER_CHAIN const &)
??4BUFFER_CHAIN@@QAEAAV0@ABV0@@Z
; public: class BUFFER_CHAIN_ITEM & __thiscall BUFFER_CHAIN_ITEM::operator=(class BUFFER_CHAIN_ITEM const &)
??4BUFFER_CHAIN_ITEM@@QAEAAV0@ABV0@@Z
; public: class CCritSec & __thiscall CCritSec::operator=(class CCritSec const &)
??4CCritSec@@QAEAAV0@ABV0@@Z
; public: class CDFTCache & __thiscall CDFTCache::operator=(class CDFTCache const &)
??4CDFTCache@@QAEAAV0@ABV0@@Z
; public: class CDateTime & __thiscall CDateTime::operator=(class CDateTime const &)
??4CDateTime@@QAEAAV0@ABV0@@Z
; public: class CDoubleList & __thiscall CDoubleList::operator=(class CDoubleList const &)
??4CDoubleList@@QAEAAV0@ABV0@@Z
; public: class CFakeLock & __thiscall CFakeLock::operator=(class CFakeLock const &)
??4CFakeLock@@QAEAAV0@ABV0@@Z
; public: class CLKRHashTableStats & __thiscall CLKRHashTableStats::operator=(class CLKRHashTableStats const &)
??4CLKRHashTableStats@@QAEAAV0@ABV0@@Z
; public: class CLKRHashTable_Iterator & __thiscall CLKRHashTable_Iterator::operator=(class CLKRHashTable_Iterator const &)
??4CLKRHashTable_Iterator@@QAEAAV0@ABV0@@Z
; public: class CLKRLinearHashTable_Iterator & __thiscall CLKRLinearHashTable_Iterator::operator=(class CLKRLinearHashTable_Iterator const &)
??4CLKRLinearHashTable_Iterator@@QAEAAV0@ABV0@@Z
; public: class CLockedDoubleList & __thiscall CLockedDoubleList::operator=(class CLockedDoubleList const &)
??4CLockedDoubleList@@QAEAAV0@ABV0@@Z
; public: class CLockedSingleList & __thiscall CLockedSingleList::operator=(class CLockedSingleList const &)
??4CLockedSingleList@@QAEAAV0@ABV0@@Z
; public: class CReaderWriterLock2 & __thiscall CReaderWriterLock2::operator=(class CReaderWriterLock2 const &)
??4CReaderWriterLock2@@QAEAAV0@ABV0@@Z
; public: class CReaderWriterLock3 & __thiscall CReaderWriterLock3::operator=(class CReaderWriterLock3 const &)
??4CReaderWriterLock3@@QAEAAV0@ABV0@@Z
; public: class CReaderWriterLock & __thiscall CReaderWriterLock::operator=(class CReaderWriterLock const &)
??4CReaderWriterLock@@QAEAAV0@ABV0@@Z
; public: class CRtlResource & __thiscall CRtlResource::operator=(class CRtlResource const &)
??4CRtlResource@@QAEAAV0@ABV0@@Z
; public: class CSingleList & __thiscall CSingleList::operator=(class CSingleList const &)
??4CSingleList@@QAEAAV0@ABV0@@Z
; public: class CSmallSpinLock & __thiscall CSmallSpinLock::operator=(class CSmallSpinLock const &)
??4CSmallSpinLock@@QAEAAV0@ABV0@@Z
; public: class CSpinLock & __thiscall CSpinLock::operator=(class CSpinLock const &)
??4CSpinLock@@QAEAAV0@ABV0@@Z
; public: struct DATETIME_FORMAT_ENTRY & __thiscall DATETIME_FORMAT_ENTRY::operator=(struct DATETIME_FORMAT_ENTRY const &)
??4DATETIME_FORMAT_ENTRY@@QAEAAU0@ABU0@@Z
; public: class EVENT_LOG & __thiscall EVENT_LOG::operator=(class EVENT_LOG const &)
??4EVENT_LOG@@QAEAAV0@ABV0@@Z
; public: class HASH_TABLE & __thiscall HASH_TABLE::operator=(class HASH_TABLE const &)
??4HASH_TABLE@@QAEAAV0@ABV0@@Z
; public: class HASH_TABLE_BUCKET & __thiscall HASH_TABLE_BUCKET::operator=(class HASH_TABLE_BUCKET const &)
??4HASH_TABLE_BUCKET@@QAEAAV0@ABV0@@Z
; public: struct HTB_ELEMENT & __thiscall HTB_ELEMENT::operator=(struct HTB_ELEMENT const &)
??4HTB_ELEMENT@@QAEAAU0@ABU0@@Z
; public: class HT_ELEMENT & __thiscall HT_ELEMENT::operator=(class HT_ELEMENT const &)
??4HT_ELEMENT@@QAEAAV0@ABV0@@Z
; public: class MLSZAU & __thiscall MLSZAU::operator=(class MLSZAU const &)
??4MLSZAU@@QAEAAV0@ABV0@@Z
; public: class MULTISZ & __thiscall MULTISZ::operator=(class MULTISZ const &)
??4MULTISZ@@QAEAAV0@ABV0@@Z
; public: class STR & __thiscall STR::operator=(class STR const &)
??4STR@@QAEAAV0@ABV0@@Z
; private: class STRA & __thiscall STRA::operator=(class STRA const &)
??4STRA@@AAEAAV0@ABV0@@Z
; public: class STRAU & __thiscall STRAU::operator=(class STRAU const &)
??4STRAU@@QAEAAV0@ABV0@@Z
; private: class STRU & __thiscall STRU::operator=(class STRU const &)
??4STRU@@AAEAAV0@ABV0@@Z
; public: class TS_RESOURCE & __thiscall TS_RESOURCE::operator=(class TS_RESOURCE const &)
??4TS_RESOURCE@@QAEAAV0@ABV0@@Z
; public: bool __thiscall CLKRHashTable_Iterator::operator==(class CLKRHashTable_Iterator const &)const 
??8CLKRHashTable_Iterator@@QBE_NABV0@@Z
; public: bool __thiscall CLKRLinearHashTable_Iterator::operator==(class CLKRLinearHashTable_Iterator const &)const 
??8CLKRLinearHashTable_Iterator@@QBE_NABV0@@Z
; public: bool __thiscall CLKRHashTable_Iterator::operator!=(class CLKRHashTable_Iterator const &)const 
??9CLKRHashTable_Iterator@@QBE_NABV0@@Z
; public: bool __thiscall CLKRLinearHashTable_Iterator::operator!=(class CLKRLinearHashTable_Iterator const &)const 
??9CLKRLinearHashTable_Iterator@@QBE_NABV0@@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 __thiscall BUFFER::`default constructor closure'(void)
??_FBUFFER@@QAEXXZ
; public: void __thiscall BUFFER_CHAIN_ITEM::`default constructor closure'(void)
??_FBUFFER_CHAIN_ITEM@@QAEXXZ
; public: void __thiscall CSharelock::`default constructor closure'(void)
??_FCSharelock@@QAEXXZ
; public: int __thiscall CSharelock::ActiveUsers(void)
?ActiveUsers@CSharelock@@QAEHXZ
; public: void * __thiscall ALLOC_CACHE_HANDLER::Alloc(void)
?Alloc@ALLOC_CACHE_HANDLER@@QAEPAXXZ
; public: int __thiscall MULTISZ::Append(class STR const &)
?Append@MULTISZ@@QAEHABVSTR@@@Z
; public: int __thiscall MULTISZ::Append(char const *)
?Append@MULTISZ@@QAEHPBD@Z
; public: int __thiscall MULTISZ::Append(char const *,unsigned long)
?Append@MULTISZ@@QAEHPBDK@Z
; public: int __thiscall STR::Append(class STR const &)
?Append@STR@@QAEHABV1@@Z
; public: int __thiscall STR::Append(char const *)
?Append@STR@@QAEHPBD@Z
; public: int __thiscall STR::Append(char const *,unsigned long)
?Append@STR@@QAEHPBDK@Z
; public: void __thiscall STR::Append(char)
?Append@STR@@QAEXD@Z
; public: void __thiscall STR::Append(char,char)
?Append@STR@@QAEXDD@Z
; public: long __thiscall STRA::Append(class STRA const &)
?Append@STRA@@QAEJABV1@@Z
; public: long __thiscall STRA::Append(char const *)
?Append@STRA@@QAEJPBD@Z
; public: long __thiscall STRA::Append(char const *,unsigned long)
?Append@STRA@@QAEJPBDK@Z
; public: int __thiscall STRAU::Append(class STRAU &)
?Append@STRAU@@QAEHAAV1@@Z
; public: int __thiscall STRAU::Append(char const *)
?Append@STRAU@@QAEHPBD@Z
; public: int __thiscall STRAU::Append(char const *,unsigned long)
?Append@STRAU@@QAEHPBDK@Z
; public: int __thiscall STRAU::Append(unsigned short const *)
?Append@STRAU@@QAEHPBG@Z
; public: int __thiscall STRAU::Append(unsigned short const *,unsigned long)
?Append@STRAU@@QAEHPBGK@Z
; public: long __thiscall STRU::Append(class STRU const &)
?Append@STRU@@QAEJABV1@@Z
; public: long __thiscall STRU::Append(unsigned short const *)
?Append@STRU@@QAEJPBG@Z
; public: long __thiscall STRU::Append(unsigned short const *,unsigned long)
?Append@STRU@@QAEJPBGK@Z
; public: long __thiscall STRU::AppendA(char const *)
?AppendA@STRU@@QAEJPBD@Z
; public: int __thiscall BUFFER_CHAIN::AppendBuffer(class BUFFER_CHAIN_ITEM *)
?AppendBuffer@BUFFER_CHAIN@@QAEHPAVBUFFER_CHAIN_ITEM@@@Z
; public: void __thiscall STR::AppendCRLF(void)
?AppendCRLF@STR@@QAEXXZ
; public: long __thiscall STRA::AppendW(unsigned short const *)
?AppendW@STRA@@QAEJPBG@Z
; public: long __thiscall STRA::AppendW(unsigned short const *,unsigned long)
?AppendW@STRA@@QAEJPBGK@Z
; public: long __thiscall STRA::AppendWTruncate(unsigned short const *)
?AppendWTruncate@STRA@@QAEJPBG@Z
; public: long __thiscall STRA::AppendWTruncate(unsigned short const *,unsigned long)
?AppendWTruncate@STRA@@QAEJPBGK@Z
; public: unsigned long __thiscall CLKRHashTable::Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
?Apply@CLKRHashTable@@QAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __thiscall CLKRLinearHashTable::Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
?Apply@CLKRLinearHashTable@@QAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __thiscall CLKRHashTable::ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
?ApplyIf@CLKRHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
; public: unsigned long __thiscall CLKRLinearHashTable::ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE)
?ApplyIf@CLKRLinearHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@@Z
; private: int __thiscall MULTISZ::AuxAppend(unsigned char const *,unsigned int,int)
?AuxAppend@MULTISZ@@AAEHPBEIH@Z
; private: int __thiscall STR::AuxAppend(unsigned char const *,unsigned int,int)
?AuxAppend@STR@@AAEHPBEIH@Z
; private: long __thiscall STRA::AuxAppend(unsigned char const *,unsigned long,unsigned long,int)
?AuxAppend@STRA@@AAEJPBEKKH@Z
; private: int __thiscall STRAU::AuxAppend(char const *,unsigned int,int)
?AuxAppend@STRAU@@AAEHPBDIH@Z
; private: int __thiscall STRAU::AuxAppend(unsigned short const *,unsigned int,int)
?AuxAppend@STRAU@@AAEHPBGIH@Z
; private: long __thiscall STRU::AuxAppend(unsigned char const *,unsigned long,unsigned long,int)
?AuxAppend@STRU@@AAEJPBEKKH@Z
; private: long __thiscall STRU::AuxAppendA(unsigned char const *,unsigned long,unsigned long,int)
?AuxAppendA@STRU@@AAEJPBEKKH@Z
; private: long __thiscall STRA::AuxAppendW(unsigned short const *,unsigned long,unsigned long,int)
?AuxAppendW@STRA@@AAEJPBGKKH@Z
; private: long __thiscall STRA::AuxAppendWTruncate(unsigned short const *,unsigned long,unsigned long,int)
?AuxAppendWTruncate@STRA@@AAEJPBGKKH@Z
; private: void __thiscall MLSZAU::AuxInit(char * const,unsigned long)
?AuxInit@MLSZAU@@AAEXQADK@Z
; private: void __thiscall MLSZAU::AuxInit(unsigned short * const,unsigned long)
?AuxInit@MLSZAU@@AAEXQAGK@Z
; private: void __thiscall MULTISZ::AuxInit(unsigned char const *)
?AuxInit@MULTISZ@@AAEXPBE@Z
; private: void __thiscall STR::AuxInit(unsigned char const *)
?AuxInit@STR@@AAEXPBE@Z
; private: void __thiscall STRAU::AuxInit(char const *)
?AuxInit@STRAU@@AAEXPBD@Z
; private: void __thiscall STRAU::AuxInit(unsigned short const *)
?AuxInit@STRAU@@AAEXPBG@Z
; public: class CLKRHashTable_Iterator  __thiscall CLKRHashTable::Begin(void)
?Begin@CLKRHashTable@@QAE?AVCLKRHashTable_Iterator@@XZ
; public: class CLKRLinearHashTable_Iterator  __thiscall CLKRLinearHashTable::Begin(void)
?Begin@CLKRLinearHashTable@@QAE?AVCLKRLinearHashTable_Iterator@@XZ
; public: static long __stdcall CLKRHashTableStats::BucketIndex(long)
?BucketIndex@CLKRHashTableStats@@SGJJ@Z
; public: static long __stdcall CLKRHashTableStats::BucketSize(long)
?BucketSize@CLKRHashTableStats@@SGJJ@Z
; public: static long const * __stdcall CLKRHashTableStats::BucketSizes(void)
?BucketSizes@CLKRHashTableStats@@SGPBJXZ
; public: static unsigned long __stdcall MULTISZ::CalcLength(char const *,unsigned long *)
?CalcLength@MULTISZ@@SGKPBDPAK@Z
; public: unsigned long __thiscall BUFFER_CHAIN::CalcTotalSize(int)const 
?CalcTotalSize@BUFFER_CHAIN@@QBEKH@Z
; public: virtual unsigned long __thiscall HASH_TABLE::CalculateHash(char const *)const 
?CalculateHash@HASH_TABLE@@UBEKPBD@Z
; public: virtual unsigned long __thiscall HASH_TABLE::CalculateHash(char const *,unsigned long)const 
?CalculateHash@HASH_TABLE@@UBEKPBDK@Z
CanonURL
; public: void __thiscall CSharelock::ChangeExclusiveLockToSharedLock(void)
?ChangeExclusiveLockToSharedLock@CSharelock@@QAEXXZ
; public: unsigned char __thiscall CSharelock::ChangeSharedLockToExclusiveLock(int)
?ChangeSharedLockToExclusiveLock@CSharelock@@QAEEH@Z
; public: int __thiscall CLKRHashTable::CheckTable(void)const 
?CheckTable@CLKRHashTable@@QBEHXZ
; public: int __thiscall CLKRLinearHashTable::CheckTable(void)const 
?CheckTable@CLKRLinearHashTable@@QBEHXZ
; public: unsigned char __thiscall CSharelock::ClaimExclusiveLock(int)
?ClaimExclusiveLock@CSharelock@@QAEEH@Z
; public: unsigned char __thiscall CSharelock::ClaimShareLock(int)
?ClaimShareLock@CSharelock@@QAEEH@Z
; public: static char const * __stdcall CCritSec::ClassName(void)
?ClassName@CCritSec@@SGPBDXZ
; public: static unsigned short const * __stdcall CCritSec::ClassName(void)
?ClassName@CCritSec@@SGPBGXZ
; public: static char const * __stdcall CFakeLock::ClassName(void)
?ClassName@CFakeLock@@SGPBDXZ
; public: static unsigned short const * __stdcall CFakeLock::ClassName(void)
?ClassName@CFakeLock@@SGPBGXZ
; public: static unsigned short const * __stdcall CLKRHashTable::ClassName(void)
?ClassName@CLKRHashTable@@SGPBGXZ
; public: static unsigned short const * __stdcall CLKRLinearHashTable::ClassName(void)
?ClassName@CLKRLinearHashTable@@SGPBGXZ
; public: static char const * __stdcall CReaderWriterLock2::ClassName(void)
?ClassName@CReaderWriterLock2@@SGPBDXZ
; public: static unsigned short const * __stdcall CReaderWriterLock2::ClassName(void)
?ClassName@CReaderWriterLock2@@SGPBGXZ
; public: static char const * __stdcall CReaderWriterLock3::ClassName(void)
?ClassName@CReaderWriterLock3@@SGPBDXZ
; public: static unsigned short const * __stdcall CReaderWriterLock3::ClassName(void)
?ClassName@CReaderWriterLock3@@SGPBGXZ
; public: static char const * __stdcall CReaderWriterLock::ClassName(void)
?ClassName@CReaderWriterLock@@SGPBDXZ
; public: static unsigned short const * __stdcall CReaderWriterLock::ClassName(void)
?ClassName@CReaderWriterLock@@SGPBGXZ
; public: static char const * __stdcall CRtlResource::ClassName(void)
?ClassName@CRtlResource@@SGPBDXZ
; public: static char const * __stdcall CShareLock::ClassName(void)
?ClassName@CShareLock@@SGPBDXZ
; public: static char const * __stdcall CSmallSpinLock::ClassName(void)
?ClassName@CSmallSpinLock@@SGPBDXZ
; public: static unsigned short const * __stdcall CSmallSpinLock::ClassName(void)
?ClassName@CSmallSpinLock@@SGPBGXZ
; public: static char const * __stdcall CSpinLock::ClassName(void)
?ClassName@CSpinLock@@SGPBDXZ
; public: static unsigned short const * __stdcall CSpinLock::ClassName(void)
?ClassName@CSpinLock@@SGPBGXZ
; public: static int __stdcall ALLOC_CACHE_HANDLER::Cleanup(void)
?Cleanup@ALLOC_CACHE_HANDLER@@SGHXZ
; public: void __thiscall HASH_TABLE::Cleanup(void)
?Cleanup@HASH_TABLE@@QAEXXZ
; public: void __thiscall HTB_ELEMENT::Cleanup(void)
?Cleanup@HTB_ELEMENT@@QAEXXZ
; public: static void __stdcall ALLOC_CACHE_HANDLER::CleanupAllLookasides(void *,unsigned char)
?CleanupAllLookasides@ALLOC_CACHE_HANDLER@@SGXPAXE@Z
; public: void __thiscall ALLOC_CACHE_HANDLER::CleanupLookaside(int)
?CleanupLookaside@ALLOC_CACHE_HANDLER@@QAEXH@Z
; public: void __thiscall CLKRHashTable::Clear(void)
?Clear@CLKRHashTable@@QAEXXZ
; public: void __thiscall CLKRLinearHashTable::Clear(void)
?Clear@CLKRLinearHashTable@@QAEXXZ
; public: void __thiscall STR::Clear(void)
?Clear@STR@@QAEXXZ
; public: int __thiscall MULTISZ::Clone(class MULTISZ *)const 
?Clone@MULTISZ@@QBEHPAV1@@Z
; public: int __thiscall STR::Clone(class STR *)const 
?Clone@STR@@QBEHPAV1@@Z
; public: long __thiscall STRA::Clone(class STRA *)const 
?Clone@STRA@@QBEJPAV1@@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CIterator *)
?CloseIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::CloseIterator(class CLKRHashTable::CConstIterator *)const 
?CloseIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CIterator *)
?CloseIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::CloseIterator(class CLKRLinearHashTable::CConstIterator *)const 
?CloseIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
; public: unsigned long __thiscall HASH_TABLE::CloseIterator(struct HT_ITERATOR *)
?CloseIterator@HASH_TABLE@@QAEKPAUHT_ITERATOR@@@Z
; public: unsigned long __thiscall HASH_TABLE_BUCKET::CloseIterator(struct HT_ITERATOR *)
?CloseIterator@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@@Z
; public: void __thiscall TS_RESOURCE::Convert(enum TSRES_CONV_TYPE)
?Convert@TS_RESOURCE@@QAEXW4TSRES_CONV_TYPE@@@Z
; public: void __thiscall CCritSec::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CCritSec@@QAEXXZ
; public: void __thiscall CFakeLock::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CFakeLock@@QAEXXZ
; public: void __thiscall CLKRHashTable::ConvertExclusiveToShared(void)const 
?ConvertExclusiveToShared@CLKRHashTable@@QBEXXZ
; public: void __thiscall CLKRLinearHashTable::ConvertExclusiveToShared(void)const 
?ConvertExclusiveToShared@CLKRLinearHashTable@@QBEXXZ
; public: void __thiscall CReaderWriterLock2::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CReaderWriterLock2@@QAEXXZ
; public: void __thiscall CReaderWriterLock3::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CReaderWriterLock3@@QAEXXZ
; public: void __thiscall CReaderWriterLock::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CReaderWriterLock@@QAEXXZ
; public: void __thiscall CRtlResource::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CRtlResource@@QAEXXZ
; public: void __thiscall CShareLock::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CShareLock@@QAEXXZ
; public: void __thiscall CSmallSpinLock::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CSmallSpinLock@@QAEXXZ
; public: void __thiscall CSpinLock::ConvertExclusiveToShared(void)
?ConvertExclusiveToShared@CSpinLock@@QAEXXZ
; public: void __thiscall CCritSec::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CCritSec@@QAEXXZ
; public: void __thiscall CFakeLock::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CFakeLock@@QAEXXZ
; public: void __thiscall CLKRHashTable::ConvertSharedToExclusive(void)const 
?ConvertSharedToExclusive@CLKRHashTable@@QBEXXZ
; public: void __thiscall CLKRLinearHashTable::ConvertSharedToExclusive(void)const 
?ConvertSharedToExclusive@CLKRLinearHashTable@@QBEXXZ
; public: void __thiscall CReaderWriterLock2::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CReaderWriterLock2@@QAEXXZ
; public: void __thiscall CReaderWriterLock3::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CReaderWriterLock3@@QAEXXZ
; public: void __thiscall CReaderWriterLock::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CReaderWriterLock@@QAEXXZ
; public: void __thiscall CRtlResource::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CRtlResource@@QAEXXZ
; public: void __thiscall CShareLock::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CShareLock@@QAEXXZ
; public: void __thiscall CSmallSpinLock::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CSmallSpinLock@@QAEXXZ
; public: void __thiscall CSpinLock::ConvertSharedToExclusive(void)
?ConvertSharedToExclusive@CSpinLock@@QAEXXZ
; public: int __thiscall MULTISZ::Copy(class MULTISZ const &)
?Copy@MULTISZ@@QAEHABV1@@Z
; public: int __thiscall MULTISZ::Copy(char const *,unsigned long)
?Copy@MULTISZ@@QAEHPBDK@Z
; public: int __thiscall STR::Copy(class STR const &)
?Copy@STR@@QAEHABV1@@Z
; public: int __thiscall STR::Copy(char const *)
?Copy@STR@@QAEHPBD@Z
; public: int __thiscall STR::Copy(char const *,unsigned long)
?Copy@STR@@QAEHPBDK@Z
; public: long __thiscall STRA::Copy(class STRA const &)
?Copy@STRA@@QAEJABV1@@Z
; public: long __thiscall STRA::Copy(char const *)
?Copy@STRA@@QAEJPBD@Z
; public: long __thiscall STRA::Copy(char const *,unsigned long)
?Copy@STRA@@QAEJPBDK@Z
; public: int __thiscall STRAU::Copy(class STRAU &)
?Copy@STRAU@@QAEHAAV1@@Z
; public: int __thiscall STRAU::Copy(char const *)
?Copy@STRAU@@QAEHPBD@Z
; public: int __thiscall STRAU::Copy(char const *,unsigned long)
?Copy@STRAU@@QAEHPBDK@Z
; public: int __thiscall STRAU::Copy(unsigned short const *)
?Copy@STRAU@@QAEHPBG@Z
; public: int __thiscall STRAU::Copy(unsigned short const *,unsigned long)
?Copy@STRAU@@QAEHPBGK@Z
; public: long __thiscall STRU::Copy(class STRU const &)
?Copy@STRU@@QAEJABV1@@Z
; public: long __thiscall STRU::Copy(unsigned short const *)
?Copy@STRU@@QAEJPBG@Z
; public: long __thiscall STRU::Copy(unsigned short const *,unsigned long)
?Copy@STRU@@QAEJPBGK@Z
; public: long __thiscall STRU::CopyA(char const *)
?CopyA@STRU@@QAEJPBD@Z
; public: long __thiscall STRU::CopyA(char const *,unsigned long)
?CopyA@STRU@@QAEJPBDK@Z
; public: long __thiscall STRA::CopyBinary(void *,unsigned long)
?CopyBinary@STRA@@QAEJPAXK@Z
; public: int __thiscall CDFTCache::CopyFormattedData(struct _SYSTEMTIME const *,char *)const 
?CopyFormattedData@CDFTCache@@QBEHPBU_SYSTEMTIME@@PAD@Z
; public: void __thiscall DATETIME_FORMAT_ENTRY::CopyFormattedData(struct _SYSTEMTIME const *,char *)const 
?CopyFormattedData@DATETIME_FORMAT_ENTRY@@QBEXPBU_SYSTEMTIME@@PAD@Z
; public: int __thiscall MULTISZ::CopyToBuffer(char *,unsigned long *)const 
?CopyToBuffer@MULTISZ@@QBEHPADPAK@Z
; public: int __thiscall STR::CopyToBuffer(char *,unsigned long *)const 
?CopyToBuffer@STR@@QBEHPADPAK@Z
; public: int __thiscall STR::CopyToBuffer(unsigned short *,unsigned long *)const 
?CopyToBuffer@STR@@QBEHPAGPAK@Z
; public: long __thiscall STRA::CopyToBuffer(char *,unsigned long *)const 
?CopyToBuffer@STRA@@QBEJPADPAK@Z
; public: long __thiscall STRU::CopyToBuffer(unsigned short *,unsigned long *)const 
?CopyToBuffer@STRU@@QBEJPAGPAK@Z
; public: long __thiscall STRA::CopyW(unsigned short const *)
?CopyW@STRA@@QAEJPBG@Z
; public: long __thiscall STRA::CopyW(unsigned short const *,unsigned long)
?CopyW@STRA@@QAEJPBGK@Z
; public: long __thiscall STRA::CopyWToUTF8(class STRU const &)
?CopyWToUTF8@STRA@@QAEJABVSTRU@@@Z
; public: long __thiscall STRA::CopyWToUTF8(unsigned short const *)
?CopyWToUTF8@STRA@@QAEJPBG@Z
; public: long __thiscall STRA::CopyWToUTF8(unsigned short const *,unsigned long)
?CopyWToUTF8@STRA@@QAEJPBGK@Z
; public: long __thiscall STRA::CopyWToUTF8Unescaped(class STRU const &)
?CopyWToUTF8Unescaped@STRA@@QAEJABVSTRU@@@Z
; public: long __thiscall STRA::CopyWToUTF8Unescaped(unsigned short const *)
?CopyWToUTF8Unescaped@STRA@@QAEJPBG@Z
; public: long __thiscall STRA::CopyWToUTF8Unescaped(unsigned short const *,unsigned long)
?CopyWToUTF8Unescaped@STRA@@QAEJPBGK@Z
; public: long __thiscall STRA::CopyWTruncate(unsigned short const *)
?CopyWTruncate@STRA@@QAEJPBG@Z
; public: long __thiscall STRA::CopyWTruncate(unsigned short const *,unsigned long)
?CopyWTruncate@STRA@@QAEJPBGK@Z
CreateKey
; public: unsigned long __thiscall CDFTCache::DateTimeChars(void)const 
?DateTimeChars@CDFTCache@@QBEKXZ
; char const * __stdcall DayOfWeek3CharNames(unsigned long)
?DayOfWeek3CharNames@@YGPBDK@Z
; public: void __thiscall HTB_ELEMENT::DecrementElements(void)
?DecrementElements@HTB_ELEMENT@@QAEXXZ
; public: int __thiscall HASH_TABLE::Delete(class HT_ELEMENT *)
?Delete@HASH_TABLE@@QAEHPAVHT_ELEMENT@@@Z
; public: int __thiscall HASH_TABLE_BUCKET::Delete(class HT_ELEMENT *)
?Delete@HASH_TABLE_BUCKET@@QAEHPAVHT_ELEMENT@@@Z
; public: int __thiscall HTB_ELEMENT::Delete(class HT_ELEMENT *)
?Delete@HTB_ELEMENT@@QAEHPAVHT_ELEMENT@@@Z
; public: unsigned long __thiscall BUFFER_CHAIN::DeleteChain(void)
?DeleteChain@BUFFER_CHAIN@@QAEKXZ
; public: unsigned long __thiscall CLKRHashTable::DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *)
?DeleteIf@CLKRHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1@Z
; public: unsigned long __thiscall CLKRLinearHashTable::DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *)
?DeleteIf@CLKRLinearHashTable@@QAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::DeleteKey(unsigned long)
?DeleteKey@CLKRHashTable@@QAE?AW4LK_RETCODE@@K@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::DeleteKey(unsigned long)
?DeleteKey@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@K@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::DeleteRecord(void const *)
?DeleteRecord@CLKRHashTable@@QAE?AW4LK_RETCODE@@PBX@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::DeleteRecord(void const *)
?DeleteRecord@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PBX@Z
; public: virtual unsigned long __thiscall CEtwTracer::DisableEventsCallbackCustomHandler(void)
?DisableEventsCallbackCustomHandler@CEtwTracer@@UAEKXZ
; public: static int __stdcall ALLOC_CACHE_HANDLER::DumpStatsToHtml(char *,unsigned long *)
?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SGHPADPAK@Z
; public: virtual unsigned long __thiscall CEtwTracer::EnableEventsCallbackCustomHandler(void)
?EnableEventsCallbackCustomHandler@CEtwTracer@@UAEKXZ
; public: class CLKRHashTable_Iterator  __thiscall CLKRHashTable::End(void)
?End@CLKRHashTable@@QAE?AVCLKRHashTable_Iterator@@XZ
; public: class CLKRLinearHashTable_Iterator  __thiscall CLKRLinearHashTable::End(void)
?End@CLKRLinearHashTable@@QAE?AVCLKRLinearHashTable_Iterator@@XZ
; public: int __thiscall STR::Equ(class STR const &)const 
?Equ@STR@@QBEHABV1@@Z
; public: int __thiscall STR::Equ(char *)const 
?Equ@STR@@QBEHPAD@Z
; public: bool __thiscall CLKRHashTable::EqualRange(unsigned long,class CLKRHashTable_Iterator &,class CLKRHashTable_Iterator &)
?EqualRange@CLKRHashTable@@QAE_NKAAVCLKRHashTable_Iterator@@0@Z
; public: bool __thiscall CLKRLinearHashTable::EqualRange(unsigned long,class CLKRLinearHashTable_Iterator &,class CLKRLinearHashTable_Iterator &)
?EqualRange@CLKRLinearHashTable@@QAE_NKAAVCLKRLinearHashTable_Iterator@@0@Z
; public: int __thiscall STRA::Equals(class STRA const &)const 
?Equals@STRA@@QBEHABV1@@Z
; public: int __thiscall STRA::Equals(char * const)const 
?Equals@STRA@@QBEHQAD@Z
; public: int __thiscall STRU::Equals(class STRU const &)const 
?Equals@STRU@@QBEHABV1@@Z
; public: int __thiscall STRU::Equals(unsigned short const *)const 
?Equals@STRU@@QBEHPBG@Z
; public: int __thiscall STRA::EqualsNoCase(class STRA const &)const 
?EqualsNoCase@STRA@@QBEHABV1@@Z
; public: int __thiscall STRA::EqualsNoCase(char * const)const 
?EqualsNoCase@STRA@@QBEHQAD@Z
; public: int __thiscall STRU::EqualsNoCase(class STRU const &)const 
?EqualsNoCase@STRU@@QBEHABV1@@Z
; public: int __thiscall STRU::EqualsNoCase(unsigned short const *)const 
?EqualsNoCase@STRU@@QBEHPBG@Z
; public: bool __thiscall CLKRHashTable::Erase(class CLKRHashTable_Iterator &,class CLKRHashTable_Iterator &)
?Erase@CLKRHashTable@@QAE_NAAVCLKRHashTable_Iterator@@0@Z
; public: bool __thiscall CLKRHashTable::Erase(class CLKRHashTable_Iterator &)
?Erase@CLKRHashTable@@QAE_NAAVCLKRHashTable_Iterator@@@Z
; public: bool __thiscall CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator &,class CLKRLinearHashTable_Iterator &)
?Erase@CLKRLinearHashTable@@QAE_NAAVCLKRLinearHashTable_Iterator@@0@Z
; public: bool __thiscall CLKRLinearHashTable::Erase(class CLKRLinearHashTable_Iterator &)
?Erase@CLKRLinearHashTable@@QAE_NAAVCLKRLinearHashTable_Iterator@@@Z
; public: int __thiscall STR::Escape(void)
?Escape@STR@@QAEHXZ
; public: long __thiscall STRA::Escape(int,int)
?Escape@STRA@@QAEJHH@Z
; public: long __thiscall STRU::Escape(void)
?Escape@STRU@@QAEJXZ
; public: int __thiscall STR::EscapeSpaces(void)
?EscapeSpaces@STR@@QAEHXZ
; public: unsigned long __cdecl CEtwTracer::EtwTraceEvent(struct _GUID const *,unsigned long,...)
?EtwTraceEvent@CEtwTracer@@QAAKPBU_GUID@@KZZ
; int __stdcall FileTimeToGMT(struct _FILETIME const &,char *,unsigned long)
?FileTimeToGMT@@YGHABU_FILETIME@@PADK@Z
; int __stdcall FileTimeToGMTEx(struct _FILETIME const &,char *,unsigned long,unsigned long)
?FileTimeToGMTEx@@YGHABU_FILETIME@@PADKK@Z
; public: bool __thiscall CLKRHashTable::Find(unsigned long,class CLKRHashTable_Iterator &)
?Find@CLKRHashTable@@QAE_NKAAVCLKRHashTable_Iterator@@@Z
; public: bool __thiscall CLKRLinearHashTable::Find(unsigned long,class CLKRLinearHashTable_Iterator &)
?Find@CLKRLinearHashTable@@QAE_NKAAVCLKRLinearHashTable_Iterator@@@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::FindKey(unsigned long,void const * *)const 
?FindKey@CLKRHashTable@@QBE?AW4LK_RETCODE@@KPAPBX@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::FindKey(unsigned long,void const * *)const 
?FindKey@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@KPAPBX@Z
; public: unsigned long __thiscall HASH_TABLE::FindNextElement(struct HT_ITERATOR *,class HT_ELEMENT * *)
?FindNextElement@HASH_TABLE@@QAEKPAUHT_ITERATOR@@PAPAVHT_ELEMENT@@@Z
; public: unsigned long __thiscall HASH_TABLE_BUCKET::FindNextElement(struct HT_ITERATOR *,class HT_ELEMENT * *)
?FindNextElement@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@PAPAVHT_ELEMENT@@@Z
; public: unsigned long __thiscall HTB_ELEMENT::FindNextElement(unsigned long *,class HT_ELEMENT * *)
?FindNextElement@HTB_ELEMENT@@QAEKPAKPAPAVHT_ELEMENT@@@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::FindRecord(void const *)const 
?FindRecord@CLKRHashTable@@QBE?AW4LK_RETCODE@@PBX@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::FindRecord(void const *)const 
?FindRecord@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PBX@Z
; public: int __thiscall MULTISZ::FindString(class STR const &)
?FindString@MULTISZ@@QAEHABVSTR@@@Z
; public: int __thiscall MULTISZ::FindString(char const *)
?FindString@MULTISZ@@QAEHPBD@Z
; public: class CListEntry * __thiscall CDoubleList::First(void)const 
?First@CDoubleList@@QBEQAVCListEntry@@XZ
; public: class CListEntry * __thiscall CLockedDoubleList::First(void)
?First@CLockedDoubleList@@QAEQAVCListEntry@@XZ
; public: char const * __thiscall MULTISZ::First(void)const 
?First@MULTISZ@@QBEPBDXZ
; public: struct HTBE_ENTRY * __thiscall HTB_ELEMENT::FirstElement(void)
?FirstElement@HTB_ELEMENT@@QAEPAUHTBE_ENTRY@@XZ
; public: unsigned long __thiscall HASH_TABLE::FlushElements(void)
?FlushElements@HASH_TABLE@@QAEKXZ
; public: int __thiscall STR::FormatString(unsigned long,char const * * const,char const *,unsigned long)
?FormatString@STR@@QAEHKQAPBDPBDK@Z
; public: long __thiscall STRA::FormatString(unsigned long,char const * * const,char const *,unsigned long)
?FormatString@STRA@@QAEJKQAPBDPBDK@Z
; public: char const * __thiscall CDFTCache::FormattedBuffer(void)const 
?FormattedBuffer@CDFTCache@@QBEPBDXZ
; public: int __thiscall ALLOC_CACHE_HANDLER::Free(void *)
?Free@ALLOC_CACHE_HANDLER@@QAEHPAX@Z
; public: void __thiscall BUFFER::FreeMemory(void)
?FreeMemory@BUFFER@@QAEXXZ
; public: virtual void __thiscall ASCLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
?GenerateDateTimeString@ASCLOG_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
; public: virtual void __thiscall EXTLOG_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
?GenerateDateTimeString@EXTLOG_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
; public: virtual void __thiscall W3_DATETIME_CACHE::GenerateDateTimeString(struct DATETIME_FORMAT_ENTRY *,struct _SYSTEMTIME const *)
?GenerateDateTimeString@W3_DATETIME_CACHE@@UAEXPAUDATETIME_FORMAT_ENTRY@@PBU_SYSTEMTIME@@@Z
; public: unsigned short __thiscall CLKRHashTable::GetBucketLockSpinCount(void)const 
?GetBucketLockSpinCount@CLKRHashTable@@QBEGXZ
; public: unsigned short __thiscall CLKRLinearHashTable::GetBucketLockSpinCount(void)const 
?GetBucketLockSpinCount@CLKRLinearHashTable@@QBEGXZ
; public: static double __stdcall CCritSec::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CCritSec@@SGNXZ
; public: static double __stdcall CFakeLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CFakeLock@@SGNXZ
; public: static double __stdcall CReaderWriterLock2::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SGNXZ
; public: static double __stdcall CReaderWriterLock3::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SGNXZ
; public: static double __stdcall CReaderWriterLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SGNXZ
; public: static double __stdcall CRtlResource::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CRtlResource@@SGNXZ
; public: static double __stdcall CShareLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CShareLock@@SGNXZ
; public: static double __stdcall CSmallSpinLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SGNXZ
; public: static double __stdcall CSpinLock::GetDefaultSpinAdjustmentFactor(void)
?GetDefaultSpinAdjustmentFactor@CSpinLock@@SGNXZ
; public: static unsigned short __stdcall CCritSec::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CCritSec@@SGGXZ
; public: static unsigned short __stdcall CFakeLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CFakeLock@@SGGXZ
; public: static unsigned short __stdcall CReaderWriterLock2::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock2@@SGGXZ
; public: static unsigned short __stdcall CReaderWriterLock3::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock3@@SGGXZ
; public: static unsigned short __stdcall CReaderWriterLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CReaderWriterLock@@SGGXZ
; public: static unsigned short __stdcall CRtlResource::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CRtlResource@@SGGXZ
; public: static unsigned short __stdcall CShareLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CShareLock@@SGGXZ
; public: static unsigned short __stdcall CSmallSpinLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CSmallSpinLock@@SGGXZ
; public: static unsigned short __stdcall CSpinLock::GetDefaultSpinCount(void)
?GetDefaultSpinCount@CSpinLock@@SGGXZ
; public: unsigned long __thiscall EVENT_LOG::GetErrorCode(void)const 
?GetErrorCode@EVENT_LOG@@QBEKXZ
; public: unsigned long __thiscall CACHED_DATETIME_FORMATS::GetFormattedCurrentDateTime(char *)
?GetFormattedCurrentDateTime@CACHED_DATETIME_FORMATS@@QAEKPAD@Z
; public: unsigned long __thiscall CACHED_DATETIME_FORMATS::GetFormattedDateTime(struct _SYSTEMTIME const *,char *)
?GetFormattedDateTime@CACHED_DATETIME_FORMATS@@QAEKPBU_SYSTEMTIME@@PAD@Z
; private: int __thiscall BUFFER::GetNewStorage(unsigned int)
?GetNewStorage@BUFFER@@AAEHI@Z
; public: unsigned short __thiscall CCritSec::GetSpinCount(void)const 
?GetSpinCount@CCritSec@@QBEGXZ
; public: unsigned short __thiscall CFakeLock::GetSpinCount(void)const 
?GetSpinCount@CFakeLock@@QBEGXZ
; public: unsigned short __thiscall CReaderWriterLock2::GetSpinCount(void)const 
?GetSpinCount@CReaderWriterLock2@@QBEGXZ
; public: unsigned short __thiscall CReaderWriterLock3::GetSpinCount(void)const 
?GetSpinCount@CReaderWriterLock3@@QBEGXZ
; public: unsigned short __thiscall CReaderWriterLock::GetSpinCount(void)const 
?GetSpinCount@CReaderWriterLock@@QBEGXZ
; public: unsigned short __thiscall CRtlResource::GetSpinCount(void)const 
?GetSpinCount@CRtlResource@@QBEGXZ
; public: unsigned short __thiscall CShareLock::GetSpinCount(void)const 
?GetSpinCount@CShareLock@@QBEGXZ
; public: unsigned short __thiscall CSmallSpinLock::GetSpinCount(void)const 
?GetSpinCount@CSmallSpinLock@@QBEGXZ
; public: unsigned short __thiscall CSpinLock::GetSpinCount(void)const 
?GetSpinCount@CSpinLock@@QBEGXZ
; public: class CLKRHashTableStats  __thiscall CLKRHashTable::GetStatistics(void)const 
?GetStatistics@CLKRHashTable@@QBE?AVCLKRHashTableStats@@XZ
; public: class CLKRHashTableStats  __thiscall CLKRLinearHashTable::GetStatistics(void)const 
?GetStatistics@CLKRLinearHashTable@@QBE?AVCLKRHashTableStats@@XZ
; public: unsigned short __thiscall CLKRHashTable::GetTableLockSpinCount(void)const 
?GetTableLockSpinCount@CLKRHashTable@@QBEGXZ
; public: unsigned short __thiscall CLKRLinearHashTable::GetTableLockSpinCount(void)const 
?GetTableLockSpinCount@CLKRLinearHashTable@@QBEGXZ
; public: int __thiscall CDateTime::GetTickCount(void)
?GetTickCount@CDateTime@@QAEHXZ
; public: long __thiscall STRA::HTMLEncode(void)
?HTMLEncode@STRA@@QAEJXZ
; public: void __thiscall STR::Hash(void)
?Hash@STR@@QAEXXZ
; public: class CListEntry const * __thiscall CDoubleList::HeadNode(void)const 
?HeadNode@CDoubleList@@QBEQBVCListEntry@@XZ
; public: class CListEntry const * __thiscall CLockedDoubleList::HeadNode(void)const 
?HeadNode@CLockedDoubleList@@QBEQBVCListEntry@@XZ
IISCreateDirectory
IISstricmp
IISstrlen
IISstrlwr
IISstrncpy
IISstrnicmp
IISstrrchr
IISstrupr
; public: bool __thiscall CLKRHashTable_Iterator::Increment(void)
?Increment@CLKRHashTable_Iterator@@QAE_NXZ
; public: bool __thiscall CLKRLinearHashTable_Iterator::Increment(void)
?Increment@CLKRLinearHashTable_Iterator@@QAE_NXZ
; public: void __thiscall HTB_ELEMENT::IncrementElements(void)
?IncrementElements@HTB_ELEMENT@@QAEXXZ
; public: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CIterator *)
?IncrementIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::IncrementIterator(class CLKRHashTable::CConstIterator *)const 
?IncrementIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CIterator *)
?IncrementIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::IncrementIterator(class CLKRLinearHashTable::CConstIterator *)const 
?IncrementIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
; public: static int __stdcall ALLOC_CACHE_HANDLER::Initialize(void)
?Initialize@ALLOC_CACHE_HANDLER@@SGHXZ
; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CIterator *)
?InitializeIterator@CLKRHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::InitializeIterator(class CLKRHashTable::CConstIterator *)const 
?InitializeIterator@CLKRHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CIterator *)
?InitializeIterator@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InitializeIterator(class CLKRLinearHashTable::CConstIterator *)const 
?InitializeIterator@CLKRLinearHashTable@@QBE?AW4LK_RETCODE@@PAVCConstIterator@1@@Z
; public: unsigned long __thiscall HASH_TABLE::InitializeIterator(struct HT_ITERATOR *)
?InitializeIterator@HASH_TABLE@@QAEKPAUHT_ITERATOR@@@Z
; public: unsigned long __thiscall HASH_TABLE_BUCKET::InitializeIterator(struct HT_ITERATOR *)
?InitializeIterator@HASH_TABLE_BUCKET@@QAEKPAUHT_ITERATOR@@@Z
; public: bool __thiscall CLKRHashTable::Insert(void const *,class CLKRHashTable_Iterator &,bool)
?Insert@CLKRHashTable@@QAE_NPBXAAVCLKRHashTable_Iterator@@_N@Z
; public: bool __thiscall CLKRLinearHashTable::Insert(void const *,class CLKRLinearHashTable_Iterator &,bool)
?Insert@CLKRLinearHashTable@@QAE_NPBXAAVCLKRLinearHashTable_Iterator@@_N@Z
; public: int __thiscall HASH_TABLE::Insert(class HT_ELEMENT *,int)
?Insert@HASH_TABLE@@QAEHPAVHT_ELEMENT@@H@Z
; public: int __thiscall HASH_TABLE_BUCKET::Insert(unsigned long,class HT_ELEMENT *,int)
?Insert@HASH_TABLE_BUCKET@@QAEHKPAVHT_ELEMENT@@H@Z
; public: int __thiscall HTB_ELEMENT::Insert(unsigned long,class HT_ELEMENT *)
?Insert@HTB_ELEMENT@@QAEHKPAVHT_ELEMENT@@@Z
; public: void __thiscall CDoubleList::InsertHead(class CListEntry * const)
?InsertHead@CDoubleList@@QAEXQAVCListEntry@@@Z
; public: void __thiscall CLockedDoubleList::InsertHead(class CListEntry * const)
?InsertHead@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
; public: static void __stdcall ALLOC_CACHE_HANDLER::InsertNewItem(class ALLOC_CACHE_HANDLER *)
?InsertNewItem@ALLOC_CACHE_HANDLER@@SGXPAV1@@Z
; public: enum LK_RETCODE  __thiscall CLKRHashTable::InsertRecord(void const *,bool)
?InsertRecord@CLKRHashTable@@QAE?AW4LK_RETCODE@@PBX_N@Z
; public: enum LK_RETCODE  __thiscall CLKRLinearHashTable::InsertRecord(void const *,bool)
?InsertRecord@CLKRLinearHashTable@@QAE?AW4LK_RETCODE@@PBX_N@Z
; public: void __thiscall CDoubleList::InsertTail(class CListEntry * const)
?InsertTail@CDoubleList@@QAEXQAVCListEntry@@@Z
; public: void __thiscall CLockedDoubleList::InsertTail(class CListEntry * const)
?InsertTail@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
; public: int __thiscall ALLOC_CACHE_HANDLER::IpPrint(char *,unsigned long *)
?IpPrint@ALLOC_CACHE_HANDLER@@QAEHPADPAK@Z
; public: int __thiscall MLSZAU::IsCurrentUnicode(void)
?IsCurrentUnicode@MLSZAU@@QAEHXZ
; public: int __thiscall STRAU::IsCurrentUnicode(void)
?IsCurrentUnicode@STRAU@@QAEHXZ
; private: int __thiscall BUFFER::IsDynAlloced(void)const 
?IsDynAlloced@BUFFER@@ABEHXZ
; public: bool __thiscall CDoubleList::IsEmpty(void)const 
?IsEmpty@CDoubleList@@QBE_NXZ
; public: bool __thiscall CLockedDoubleList::IsEmpty(void)const 
?IsEmpty@CLockedDoubleList@@QBE_NXZ
; public: bool __thiscall CLockedSingleList::IsEmpty(void)const 
?IsEmpty@CLockedSingleList@@QBE_NXZ
; public: bool __thiscall CSingleList::IsEmpty(void)const 
?IsEmpty@CSingleList@@QBE_NXZ
; public: int __thiscall MULTISZ::IsEmpty(void)const 
?IsEmpty@MULTISZ@@QBEHXZ
; public: int __thiscall STR::IsEmpty(void)const 
?IsEmpty@STR@@QBEHXZ
; public: int __thiscall STRA::IsEmpty(void)const 
?IsEmpty@STRA@@QBEHXZ
; public: int __thiscall STRAU::IsEmpty(void)
?IsEmpty@STRAU@@QAEHXZ
; public: int __thiscall STRU::IsEmpty(void)const 
?IsEmpty@STRU@@QBEHXZ
; public: int __thiscall CDFTCache::IsHit(struct _SYSTEMTIME const *)const 
?IsHit@CDFTCache@@QBEHPBU_SYSTEMTIME@@@Z
; public: int __thiscall DATETIME_FORMAT_ENTRY::IsHit(struct _SYSTEMTIME const *)const 
?IsHit@DATETIME_FORMAT_ENTRY@@QBEHPBU_SYSTEMTIME@@@Z
IsIPAddressLocal
IsLargeIntegerToDecimalChar
; public: bool __thiscall CLockedDoubleList::IsLocked(void)const 
?IsLocked@CLockedDoubleList@@QBE_NXZ
; public: bool __thiscall CLockedSingleList::IsLocked(void)const 
?IsLocked@CLockedSingleList@@QBE_NXZ
; public: bool __thiscall CCritSec::IsReadLocked(void)const 
?IsReadLocked@CCritSec@@QBE_NXZ
; public: bool __thiscall CFakeLock::IsReadLocked(void)const 
?IsReadLocked@CFakeLock@@QBE_NXZ
; public: bool __thiscall CLKRHashTable::IsReadLocked(void)const 
?IsReadLocked@CLKRHashTable@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable::IsReadLocked(void)const 
?IsReadLocked@CLKRLinearHashTable@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock2::IsReadLocked(void)const 
?IsReadLocked@CReaderWriterLock2@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock3::IsReadLocked(void)const 
?IsReadLocked@CReaderWriterLock3@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock::IsReadLocked(void)const 
?IsReadLocked@CReaderWriterLock@@QBE_NXZ
; public: bool __thiscall CRtlResource::IsReadLocked(void)const 
?IsReadLocked@CRtlResource@@QBE_NXZ
; public: bool __thiscall CShareLock::IsReadLocked(void)const 
?IsReadLocked@CShareLock@@QBE_NXZ
; public: bool __thiscall CSmallSpinLock::IsReadLocked(void)const 
?IsReadLocked@CSmallSpinLock@@QBE_NXZ
; public: bool __thiscall CSpinLock::IsReadLocked(void)const 
?IsReadLocked@CSpinLock@@QBE_NXZ
; public: bool __thiscall CCritSec::IsReadUnlocked(void)const 
?IsReadUnlocked@CCritSec@@QBE_NXZ
; public: bool __thiscall CFakeLock::IsReadUnlocked(void)const 
?IsReadUnlocked@CFakeLock@@QBE_NXZ
; public: bool __thiscall CLKRHashTable::IsReadUnlocked(void)const 
?IsReadUnlocked@CLKRHashTable@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable::IsReadUnlocked(void)const 
?IsReadUnlocked@CLKRLinearHashTable@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock2::IsReadUnlocked(void)const 
?IsReadUnlocked@CReaderWriterLock2@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock3::IsReadUnlocked(void)const 
?IsReadUnlocked@CReaderWriterLock3@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock::IsReadUnlocked(void)const 
?IsReadUnlocked@CReaderWriterLock@@QBE_NXZ
; public: bool __thiscall CRtlResource::IsReadUnlocked(void)const 
?IsReadUnlocked@CRtlResource@@QBE_NXZ
; public: bool __thiscall CShareLock::IsReadUnlocked(void)const 
?IsReadUnlocked@CShareLock@@QBE_NXZ
; public: bool __thiscall CSmallSpinLock::IsReadUnlocked(void)const 
?IsReadUnlocked@CSmallSpinLock@@QBE_NXZ
; public: bool __thiscall CSpinLock::IsReadUnlocked(void)const 
?IsReadUnlocked@CSpinLock@@QBE_NXZ
; public: int __thiscall HTB_ELEMENT::IsSpaceAvailable(void)const 
?IsSpaceAvailable@HTB_ELEMENT@@QBEHXZ
; public: bool __thiscall CLockedDoubleList::IsUnlocked(void)const 
?IsUnlocked@CLockedDoubleList@@QBE_NXZ
; public: bool __thiscall CLockedSingleList::IsUnlocked(void)const 
?IsUnlocked@CLockedSingleList@@QBE_NXZ
; public: bool __thiscall CLKRHashTable::IsUsable(void)const 
?IsUsable@CLKRHashTable@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable::IsUsable(void)const 
?IsUsable@CLKRLinearHashTable@@QBE_NXZ
; public: int __thiscall ALLOC_CACHE_HANDLER::IsValid(void)const 
?IsValid@ALLOC_CACHE_HANDLER@@QBEHXZ
; public: int __thiscall BUFFER::IsValid(void)const 
?IsValid@BUFFER@@QBEHXZ
; public: bool __thiscall CLKRHashTable::IsValid(void)const 
?IsValid@CLKRHashTable@@QBE_NXZ
; public: bool __thiscall CLKRHashTable_Iterator::IsValid(void)const 
?IsValid@CLKRHashTable_Iterator@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable::IsValid(void)const 
?IsValid@CLKRLinearHashTable@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable_Iterator::IsValid(void)const 
?IsValid@CLKRLinearHashTable_Iterator@@QBE_NXZ
; public: int __thiscall HASH_TABLE::IsValid(void)const 
?IsValid@HASH_TABLE@@QBEHXZ
; public: int __thiscall MLSZAU::IsValid(void)
?IsValid@MLSZAU@@QAEHXZ
; public: int __thiscall MULTISZ::IsValid(void)const 
?IsValid@MULTISZ@@QBEHXZ
; public: int __thiscall STR::IsValid(void)const 
?IsValid@STR@@QBEHXZ
; public: int __thiscall STRA::IsValid(void)const 
?IsValid@STRA@@QBEHXZ
; public: int __thiscall STRAU::IsValid(void)
?IsValid@STRAU@@QAEHXZ
; public: bool __thiscall CCritSec::IsWriteLocked(void)const 
?IsWriteLocked@CCritSec@@QBE_NXZ
; public: bool __thiscall CFakeLock::IsWriteLocked(void)const 
?IsWriteLocked@CFakeLock@@QBE_NXZ
; public: bool __thiscall CLKRHashTable::IsWriteLocked(void)const 
?IsWriteLocked@CLKRHashTable@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable::IsWriteLocked(void)const 
?IsWriteLocked@CLKRLinearHashTable@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock2::IsWriteLocked(void)const 
?IsWriteLocked@CReaderWriterLock2@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock3::IsWriteLocked(void)const 
?IsWriteLocked@CReaderWriterLock3@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock::IsWriteLocked(void)const 
?IsWriteLocked@CReaderWriterLock@@QBE_NXZ
; public: bool __thiscall CRtlResource::IsWriteLocked(void)const 
?IsWriteLocked@CRtlResource@@QBE_NXZ
; public: bool __thiscall CShareLock::IsWriteLocked(void)const 
?IsWriteLocked@CShareLock@@QBE_NXZ
; public: bool __thiscall CSmallSpinLock::IsWriteLocked(void)const 
?IsWriteLocked@CSmallSpinLock@@QBE_NXZ
; public: bool __thiscall CSpinLock::IsWriteLocked(void)const 
?IsWriteLocked@CSpinLock@@QBE_NXZ
; public: bool __thiscall CCritSec::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CCritSec@@QBE_NXZ
; public: bool __thiscall CFakeLock::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CFakeLock@@QBE_NXZ
; public: bool __thiscall CLKRHashTable::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CLKRHashTable@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CLKRLinearHashTable@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock2::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CReaderWriterLock2@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock3::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CReaderWriterLock3@@QBE_NXZ
; public: bool __thiscall CReaderWriterLock::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CReaderWriterLock@@QBE_NXZ
; public: bool __thiscall CRtlResource::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CRtlResource@@QBE_NXZ
; public: bool __thiscall CShareLock::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CShareLock@@QBE_NXZ
; public: bool __thiscall CSmallSpinLock::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CSmallSpinLock@@QBE_NXZ
; public: bool __thiscall CSpinLock::IsWriteUnlocked(void)const 
?IsWriteUnlocked@CSpinLock@@QBE_NXZ
; public: unsigned long const  __thiscall CLKRHashTable_Iterator::Key(void)const 
?Key@CLKRHashTable_Iterator@@QBE?BKXZ
; public: unsigned long const  __thiscall CLKRLinearHashTable_Iterator::Key(void)const 
?Key@CLKRLinearHashTable_Iterator@@QBE?BKXZ
; public: class CListEntry * __thiscall CDoubleList::Last(void)const 
?Last@CDoubleList@@QBEQAVCListEntry@@XZ
; public: class CListEntry * __thiscall CLockedDoubleList::Last(void)
?Last@CLockedDoubleList@@QAEQAVCListEntry@@XZ
; public: struct HTBE_ENTRY * __thiscall HTB_ELEMENT::LastElement(void)
?LastElement@HTB_ELEMENT@@QAEPAUHTBE_ENTRY@@XZ
; public: int __thiscall STR::LoadStringA(unsigned long,struct HINSTANCE__ *)
?LoadStringA@STR@@QAEHKPAUHINSTANCE__@@@Z
; public: int __thiscall STR::LoadStringA(unsigned long,char const *,unsigned long)
?LoadStringA@STR@@QAEHKPBDK@Z
; public: long __thiscall STRA::LoadStringW(unsigned long,struct HINSTANCE__ *)
?LoadStringW@STRA@@QAEJKPAUHINSTANCE__@@@Z
; public: long __thiscall STRA::LoadStringW(unsigned long,char const *,unsigned long)
?LoadStringW@STRA@@QAEJKPBDK@Z
; private: void __thiscall ALLOC_CACHE_HANDLER::Lock(void)
?Lock@ALLOC_CACHE_HANDLER@@AAEXXZ
; public: void __thiscall CLockedDoubleList::Lock(void)
?Lock@CLockedDoubleList@@QAEXXZ
; public: void __thiscall CLockedSingleList::Lock(void)
?Lock@CLockedSingleList@@QAEXXZ
; private: void __thiscall HASH_TABLE_BUCKET::Lock(void)
?Lock@HASH_TABLE_BUCKET@@AAEXXZ
; public: void __thiscall TS_RESOURCE::Lock(enum TSRES_LOCK_TYPE)
?Lock@TS_RESOURCE@@QAEXW4TSRES_LOCK_TYPE@@@Z
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<1,1,3,1,3,2>::LockType(void)
?LockType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<2,1,1,1,3,2>::LockType(void)
?LockType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<3,1,1,1,1,1>::LockType(void)
?LockType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<4,1,1,2,3,3>::LockType(void)
?LockType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<5,2,1,2,3,3>::LockType(void)
?LockType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<6,2,1,2,3,3>::LockType(void)
?LockType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<7,2,2,1,3,2>::LockType(void)
?LockType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<8,2,2,1,3,2>::LockType(void)
?LockType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: static enum LOCK_LOCKTYPE  __stdcall CLockBase<9,2,1,1,3,2>::LockType(void)
?LockType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_LOCKTYPE@@XZ
; public: void __thiscall EVENT_LOG::LogEvent(unsigned long,unsigned short,char const * * const,unsigned long)
?LogEvent@EVENT_LOG@@QAEXKGQAPBDK@Z
; private: void __thiscall EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,char const * * const,unsigned long)
?LogEventPrivate@EVENT_LOG@@AAEXKGGQAPBDK@Z
; public: class HT_ELEMENT * __thiscall HASH_TABLE::Lookup(char const *)
?Lookup@HASH_TABLE@@QAEPAVHT_ELEMENT@@PBD@Z
; public: class HT_ELEMENT * __thiscall HASH_TABLE::Lookup(char const *,unsigned long)
?Lookup@HASH_TABLE@@QAEPAVHT_ELEMENT@@PBDK@Z
; public: class HT_ELEMENT * __thiscall HASH_TABLE_BUCKET::Lookup(unsigned long,char const *,unsigned long)
?Lookup@HASH_TABLE_BUCKET@@QAEPAVHT_ELEMENT@@KPBDK@Z
; public: class HT_ELEMENT * __thiscall HTB_ELEMENT::Lookup(unsigned long,char const *,unsigned long)
?Lookup@HTB_ELEMENT@@QAEPAVHT_ELEMENT@@KPBDK@Z
; public: unsigned long __thiscall CLKRHashTable::MaxSize(void)const 
?MaxSize@CLKRHashTable@@QBEKXZ
; public: unsigned long __thiscall CLKRLinearHashTable::MaxSize(void)const 
?MaxSize@CLKRLinearHashTable@@QBEKXZ
; char const * __stdcall Month3CharNames(unsigned long)
?Month3CharNames@@YGPBDK@Z
; public: bool __thiscall CLKRHashTable::MultiKeys(void)const 
?MultiKeys@CLKRHashTable@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable::MultiKeys(void)const 
?MultiKeys@CLKRLinearHashTable@@QBE_NXZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<1,1,3,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<2,1,1,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<3,1,1,1,1,1>::MutexType(void)
?MutexType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<4,1,1,2,3,3>::MutexType(void)
?MutexType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<5,2,1,2,3,3>::MutexType(void)
?MutexType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<6,2,1,2,3,3>::MutexType(void)
?MutexType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<7,2,2,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<8,2,2,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: static enum LOCK_RW_MUTEX  __stdcall CLockBase<9,2,1,1,3,2>::MutexType(void)
?MutexType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_RW_MUTEX@@XZ
; public: char const * __thiscall MULTISZ::Next(char const *)const 
?Next@MULTISZ@@QBEPBDPBD@Z
; public: class BUFFER_CHAIN_ITEM * __thiscall BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM *)
?NextBuffer@BUFFER_CHAIN@@QAEPAVBUFFER_CHAIN_ITEM@@PAV2@@Z
; public: void __thiscall HTB_ELEMENT::NextElement(struct HTBE_ENTRY * &)
?NextElement@HTB_ELEMENT@@QAEXAAPAUHTBE_ENTRY@@@Z
; long __stdcall NormalizeUrl(char *)
?NormalizeUrl@@YGJPAD@Z
; long __stdcall NormalizeUrlW(unsigned short *)
?NormalizeUrlW@@YGJPAG@Z
NtLargeIntegerTimeToLocalSystemTime
NtLargeIntegerTimeToSystemTime
NtSystemTimeToLargeInteger
; public: unsigned long __thiscall HTB_ELEMENT::NumElements(void)const 
?NumElements@HTB_ELEMENT@@QBEKXZ
; public: unsigned long __thiscall HASH_TABLE_BUCKET::NumEntries(void)
?NumEntries@HASH_TABLE_BUCKET@@QAEKXZ
; public: int __thiscall CLKRHashTable::NumSubTables(void)const 
?NumSubTables@CLKRHashTable@@QBEHXZ
; public: static enum LK_TABLESIZE  __stdcall CLKRHashTable::NumSubTables(unsigned long &,unsigned long &)
?NumSubTables@CLKRHashTable@@SG?AW4LK_TABLESIZE@@AAK0@Z
; public: int __thiscall CLKRLinearHashTable::NumSubTables(void)const 
?NumSubTables@CLKRLinearHashTable@@QBEHXZ
; public: static enum LK_TABLESIZE  __stdcall CLKRLinearHashTable::NumSubTables(unsigned long &,unsigned long &)
?NumSubTables@CLKRLinearHashTable@@SG?AW4LK_TABLESIZE@@AAK0@Z
; public: int __thiscall CDFTCache::OffsetSeconds(void)const 
?OffsetSeconds@CDFTCache@@QBEHXZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<1,1,3,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<2,1,1,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<3,1,1,1,1,1>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<4,1,1,2,3,3>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<5,2,1,2,3,3>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<6,2,1,2,3,3>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<7,2,2,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<8,2,2,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: static enum LOCK_PERLOCK_SPIN  __stdcall CLockBase<9,2,1,1,3,2>::PerLockSpin(void)
?PerLockSpin@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_PERLOCK_SPIN@@XZ
; public: class CSingleListEntry * __thiscall CLockedSingleList::Pop(void)
?Pop@CLockedSingleList@@QAEQAVCSingleListEntry@@XZ
; public: class CSingleListEntry * __thiscall CSingleList::Pop(void)
?Pop@CSingleList@@QAEQAVCSingleListEntry@@XZ
; public: void __thiscall ALLOC_CACHE_HANDLER::Print(void)
?Print@ALLOC_CACHE_HANDLER@@QAEXXZ
; public: void __thiscall HASH_TABLE::Print(unsigned long)
?Print@HASH_TABLE@@QAEXK@Z
; public: void __thiscall HASH_TABLE_BUCKET::Print(unsigned long)
?Print@HASH_TABLE_BUCKET@@QAEXK@Z
; public: void __thiscall HTB_ELEMENT::Print(unsigned long)const 
?Print@HTB_ELEMENT@@QBEXK@Z
; private: unsigned short * __thiscall STRAU::PrivateQueryStr(int)
?PrivateQueryStr@STRAU@@AAEPAGH@Z
; public: void __thiscall CLockedSingleList::Push(class CSingleListEntry * const)
?Push@CLockedSingleList@@QAEXQAVCSingleListEntry@@@Z
; public: void __thiscall CSingleList::Push(class CSingleListEntry * const)
?Push@CSingleList@@QAEXQAVCSingleListEntry@@@Z
; public: class BUFFER * __thiscall STRU::QueryBuffer(void)
?QueryBuffer@STRU@@QAEPAVBUFFER@@XZ
; public: unsigned int __thiscall MLSZAU::QueryCB(int)
?QueryCB@MLSZAU@@QAEIH@Z
; public: unsigned int __thiscall MULTISZ::QueryCB(void)const 
?QueryCB@MULTISZ@@QBEIXZ
; public: unsigned int __thiscall STR::QueryCB(void)const 
?QueryCB@STR@@QBEIXZ
; public: unsigned int __thiscall STRA::QueryCB(void)const 
?QueryCB@STRA@@QBEIXZ
; public: unsigned int __thiscall STRAU::QueryCB(int)
?QueryCB@STRAU@@QAEIH@Z
; public: unsigned int __thiscall STRU::QueryCB(void)const 
?QueryCB@STRU@@QBEIXZ
; public: unsigned int __thiscall MLSZAU::QueryCBA(void)
?QueryCBA@MLSZAU@@QAEIXZ
; public: unsigned int __thiscall STRAU::QueryCBA(void)
?QueryCBA@STRAU@@QAEIXZ
; public: unsigned int __thiscall MLSZAU::QueryCBW(void)
?QueryCBW@MLSZAU@@QAEIXZ
; public: unsigned int __thiscall STRAU::QueryCBW(void)
?QueryCBW@STRAU@@QAEIXZ
; public: unsigned int __thiscall MLSZAU::QueryCCH(void)
?QueryCCH@MLSZAU@@QAEIXZ
; public: unsigned int __thiscall MULTISZ::QueryCCH(void)const 
?QueryCCH@MULTISZ@@QBEIXZ
; public: unsigned int __thiscall STR::QueryCCH(void)const 
?QueryCCH@STR@@QBEIXZ
; public: unsigned int __thiscall STRA::QueryCCH(void)const 
?QueryCCH@STRA@@QBEIXZ
; public: unsigned int __thiscall STRAU::QueryCCH(void)
?QueryCCH@STRAU@@QAEIXZ
; public: unsigned int __thiscall STRU::QueryCCH(void)const 
?QueryCCH@STRU@@QBEIXZ
; public: unsigned long __thiscall CEtwTracer::QueryEnableLevel(void)
?QueryEnableLevel@CEtwTracer@@QAEKXZ
; public: char __thiscall STR::QueryFirstChar(void)const 
?QueryFirstChar@STR@@QBEDXZ
; public: char __thiscall STR::QueryLastChar(void)const 
?QueryLastChar@STR@@QBEDXZ
; public: void * __thiscall BUFFER::QueryPtr(void)const 
?QueryPtr@BUFFER@@QBEPAXXZ
; public: unsigned int __thiscall BUFFER::QuerySize(void)const 
?QuerySize@BUFFER@@QBEIXZ
; public: unsigned int __thiscall STRA::QuerySize(void)const 
?QuerySize@STRA@@QBEIXZ
; public: void __thiscall ALLOC_CACHE_HANDLER::QueryStats(struct _ALLOC_CACHE_STATISTICS *)
?QueryStats@ALLOC_CACHE_HANDLER@@QAEXPAU_ALLOC_CACHE_STATISTICS@@@Z
; public: char * __thiscall MLSZAU::QueryStr(int)
?QueryStr@MLSZAU@@QAEPADH@Z
; public: char * __thiscall MULTISZ::QueryStr(void)const 
?QueryStr@MULTISZ@@QBEPADXZ
; public: char * __thiscall STR::QueryStr(void)const 
?QueryStr@STR@@QBEPADXZ
; public: char * __thiscall STRA::QueryStr(void)
?QueryStr@STRA@@QAEPADXZ
; public: char const * __thiscall STRA::QueryStr(void)const 
?QueryStr@STRA@@QBEPBDXZ
; public: char * __thiscall STRAU::QueryStr(int)
?QueryStr@STRAU@@QAEPADH@Z
; public: unsigned short * __thiscall STRAU::QueryStr(int)
?QueryStr@STRAU@@QAEPAGH@Z
; public: unsigned short * __thiscall STRU::QueryStr(void)
?QueryStr@STRU@@QAEPAGXZ
; public: unsigned short const * __thiscall STRU::QueryStr(void)const 
?QueryStr@STRU@@QBEPBGXZ
; public: char * __thiscall MLSZAU::QueryStrA(void)
?QueryStrA@MLSZAU@@QAEPADXZ
; public: char * __thiscall MULTISZ::QueryStrA(void)const 
?QueryStrA@MULTISZ@@QBEPADXZ
; public: char * __thiscall STR::QueryStrA(void)const 
?QueryStrA@STR@@QBEPADXZ
; public: char * __thiscall STRAU::QueryStrA(void)
?QueryStrA@STRAU@@QAEPADXZ
; public: unsigned short * __thiscall MLSZAU::QueryStrW(void)
?QueryStrW@MLSZAU@@QAEPAGXZ
; public: unsigned short * __thiscall STRAU::QueryStrW(void)
?QueryStrW@STRAU@@QAEPAGXZ
; public: unsigned long __thiscall MULTISZ::QueryStringCount(void)const 
?QueryStringCount@MULTISZ@@QBEKXZ
; public: unsigned __int64 __thiscall CEtwTracer::QueryTraceHandle(void)
?QueryTraceHandle@CEtwTracer@@QAE_KXZ
; public: unsigned long __thiscall BUFFER_CHAIN_ITEM::QueryUsed(void)const 
?QueryUsed@BUFFER_CHAIN_ITEM@@QBEKXZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<1,1,3,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<2,1,1,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<3,1,1,1,1,1>::QueueType(void)
?QueueType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<4,1,1,2,3,3>::QueueType(void)
?QueueType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<5,2,1,2,3,3>::QueueType(void)
?QueueType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<6,2,1,2,3,3>::QueueType(void)
?QueueType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<7,2,2,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<8,2,2,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: static enum LOCK_QUEUE_TYPE  __stdcall CLockBase<9,2,1,1,3,2>::QueueType(void)
?QueueType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_QUEUE_TYPE@@XZ
; public: bool __thiscall CDataCache<class CDateTime>::Read(class CDateTime &)const 
?Read@?$CDataCache@VCDateTime@@@@QBE_NAAVCDateTime@@@Z
; public: void __thiscall CCritSec::ReadLock(void)
?ReadLock@CCritSec@@QAEXXZ
; public: void __thiscall CFakeLock::ReadLock(void)
?ReadLock@CFakeLock@@QAEXXZ
; public: void __thiscall CLKRHashTable::ReadLock(void)const 
?ReadLock@CLKRHashTable@@QBEXXZ
; public: void __thiscall CLKRLinearHashTable::ReadLock(void)const 
?ReadLock@CLKRLinearHashTable@@QBEXXZ
; public: void __thiscall CReaderWriterLock2::ReadLock(void)
?ReadLock@CReaderWriterLock2@@QAEXXZ
; public: void __thiscall CReaderWriterLock3::ReadLock(void)
?ReadLock@CReaderWriterLock3@@QAEXXZ
; public: void __thiscall CReaderWriterLock::ReadLock(void)
?ReadLock@CReaderWriterLock@@QAEXXZ
; public: void __thiscall CRtlResource::ReadLock(void)
?ReadLock@CRtlResource@@QAEXXZ
; public: void __thiscall CShareLock::ReadLock(void)
?ReadLock@CShareLock@@QAEXXZ
; public: void __thiscall CSmallSpinLock::ReadLock(void)
?ReadLock@CSmallSpinLock@@QAEXXZ
; public: void __thiscall CSpinLock::ReadLock(void)
?ReadLock@CSpinLock@@QAEXXZ
; public: bool __thiscall CCritSec::ReadOrWriteLock(void)
?ReadOrWriteLock@CCritSec@@QAE_NXZ
; public: bool __thiscall CFakeLock::ReadOrWriteLock(void)
?ReadOrWriteLock@CFakeLock@@QAE_NXZ
; public: bool __thiscall CReaderWriterLock3::ReadOrWriteLock(void)
?ReadOrWriteLock@CReaderWriterLock3@@QAE_NXZ
; public: bool __thiscall CSpinLock::ReadOrWriteLock(void)
?ReadOrWriteLock@CSpinLock@@QAE_NXZ
; public: void __thiscall CCritSec::ReadOrWriteUnlock(bool)
?ReadOrWriteUnlock@CCritSec@@QAEX_N@Z
; public: void __thiscall CFakeLock::ReadOrWriteUnlock(bool)
?ReadOrWriteUnlock@CFakeLock@@QAEX_N@Z
; public: void __thiscall CReaderWriterLock3::ReadOrWriteUnlock(bool)
?ReadOrWriteUnlock@CReaderWriterLock3@@QAEX_N@Z
; public: void __thiscall CSpinLock::ReadOrWriteUnlock(bool)
?ReadOrWriteUnlock@CSpinLock@@QAEX_N@Z
; public: void __thiscall CCritSec::ReadUnlock(void)
?ReadUnlock@CCritSec@@QAEXXZ
; public: void __thiscall CFakeLock::ReadUnlock(void)
?ReadUnlock@CFakeLock@@QAEXXZ
; public: void __thiscall CLKRHashTable::ReadUnlock(void)const 
?ReadUnlock@CLKRHashTable@@QBEXXZ
; public: void __thiscall CLKRLinearHashTable::ReadUnlock(void)const 
?ReadUnlock@CLKRLinearHashTable@@QBEXXZ
; public: void __thiscall CReaderWriterLock2::ReadUnlock(void)
?ReadUnlock@CReaderWriterLock2@@QAEXXZ
; public: void __thiscall CReaderWriterLock3::ReadUnlock(void)
?ReadUnlock@CReaderWriterLock3@@QAEXXZ
; public: void __thiscall CReaderWriterLock::ReadUnlock(void)
?ReadUnlock@CReaderWriterLock@@QAEXXZ
; public: void __thiscall CRtlResource::ReadUnlock(void)
?ReadUnlock@CRtlResource@@QAEXXZ
; public: void __thiscall CShareLock::ReadUnlock(void)
?ReadUnlock@CShareLock@@QAEXXZ
; public: void __thiscall CSmallSpinLock::ReadUnlock(void)
?ReadUnlock@CSmallSpinLock@@QAEXXZ
; public: void __thiscall CSpinLock::ReadUnlock(void)
?ReadUnlock@CSpinLock@@QAEXXZ
; private: int __thiscall BUFFER::ReallocStorage(unsigned int)
?ReallocStorage@BUFFER@@AAEHI@Z
; public: void __thiscall MULTISZ::RecalcLen(void)
?RecalcLen@MULTISZ@@QAEXXZ
; public: void const * __thiscall CLKRHashTable_Iterator::Record(void)const 
?Record@CLKRHashTable_Iterator@@QBEPBXXZ
; public: void const * __thiscall CLKRLinearHashTable_Iterator::Record(void)const 
?Record@CLKRLinearHashTable_Iterator@@QBEPBXXZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<1,1,3,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<2,1,1,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<3,1,1,1,1,1>::Recursion(void)
?Recursion@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<4,1,1,2,3,3>::Recursion(void)
?Recursion@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<5,2,1,2,3,3>::Recursion(void)
?Recursion@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<6,2,1,2,3,3>::Recursion(void)
?Recursion@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<7,2,2,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<8,2,2,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
; public: static enum LOCK_RECURSION  __stdcall CLockBase<9,2,1,1,3,2>::Recursion(void)
?Recursion@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_RECURSION@@XZ
; public: unsigned long __thiscall CEtwTracer::Register(struct _GUID const *,unsigned short *,unsigned short *)
?Register@CEtwTracer@@QAEKPBU_GUID@@PAG1@Z
; public: void __thiscall CSharelock::ReleaseExclusiveLock(void)
?ReleaseExclusiveLock@CSharelock@@QAEXXZ
; public: void __thiscall CSharelock::ReleaseShareLock(void)
?ReleaseShareLock@CSharelock@@QAEXXZ
; public: static void __stdcall CDoubleList::RemoveEntry(class CListEntry * const)
?RemoveEntry@CDoubleList@@SGXQAVCListEntry@@@Z
; public: void __thiscall CLockedDoubleList::RemoveEntry(class CListEntry * const)
?RemoveEntry@CLockedDoubleList@@QAEXQAVCListEntry@@@Z
; public: class CListEntry * __thiscall CDoubleList::RemoveHead(void)
?RemoveHead@CDoubleList@@QAEQAVCListEntry@@XZ
; public: class CListEntry * __thiscall CLockedDoubleList::RemoveHead(void)
?RemoveHead@CLockedDoubleList@@QAEQAVCListEntry@@XZ
; public: static void __stdcall ALLOC_CACHE_HANDLER::RemoveItem(class ALLOC_CACHE_HANDLER *)
?RemoveItem@ALLOC_CACHE_HANDLER@@SGXPAV1@@Z
; public: class CListEntry * __thiscall CDoubleList::RemoveTail(void)
?RemoveTail@CDoubleList@@QAEQAVCListEntry@@XZ
; public: class CListEntry * __thiscall CLockedDoubleList::RemoveTail(void)
?RemoveTail@CLockedDoubleList@@QAEQAVCListEntry@@XZ
RemoveWorkItem
; public: void __thiscall MLSZAU::Reset(void)
?Reset@MLSZAU@@QAEXXZ
; public: void __thiscall MULTISZ::Reset(void)
?Reset@MULTISZ@@QAEXXZ
; public: void __thiscall STR::Reset(void)
?Reset@STR@@QAEXXZ
; public: void __thiscall STRA::Reset(void)
?Reset@STRA@@QAEXXZ
; public: void __thiscall STRAU::Reset(void)
?Reset@STRAU@@QAEXXZ
; public: void __thiscall STRU::Reset(void)
?Reset@STRU@@QAEXXZ
; public: static int __stdcall ALLOC_CACHE_HANDLER::ResetLookasideCleanupInterval(void)
?ResetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SGHXZ
; public: int __thiscall BUFFER::Resize(unsigned int)
?Resize@BUFFER@@QAEHI@Z
; public: int __thiscall BUFFER::Resize(unsigned int,unsigned int)
?Resize@BUFFER@@QAEHII@Z
; public: long __thiscall STRA::Resize(unsigned long)
?Resize@STRA@@QAEJK@Z
; public: long __thiscall STRU::Resize(unsigned long)
?Resize@STRU@@QAEJK@Z
; public: int __thiscall STRAU::ResizeW(unsigned long)
?ResizeW@STRAU@@QAEHK@Z
; public: int __thiscall STR::SafeCopy(char const *)
?SafeCopy@STR@@QAEHPBD@Z
; public: int __thiscall STRAU::SafeCopy(char const *)
?SafeCopy@STRAU@@QAEHPBD@Z
; public: int __thiscall STRAU::SafeCopy(unsigned short const *)
?SafeCopy@STRAU@@QAEHPBG@Z
ScheduleAdjustTime
ScheduleWorkItem
SchedulerInitialize
SchedulerTerminate
; public: unsigned short __thiscall CDFTCache::Seconds(void)const 
?Seconds@CDFTCache@@QBEGXZ
; public: void __thiscall CLKRHashTable::SetBucketLockSpinCount(unsigned short)
?SetBucketLockSpinCount@CLKRHashTable@@QAEXG@Z
; public: void __thiscall CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short)
?SetBucketLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
; public: static void __stdcall CCritSec::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CCritSec@@SGXN@Z
; public: static void __stdcall CFakeLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CFakeLock@@SGXN@Z
; public: static void __stdcall CReaderWriterLock2::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock2@@SGXN@Z
; public: static void __stdcall CReaderWriterLock3::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock3@@SGXN@Z
; public: static void __stdcall CReaderWriterLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CReaderWriterLock@@SGXN@Z
; public: static void __stdcall CRtlResource::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CRtlResource@@SGXN@Z
; public: static void __stdcall CShareLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CShareLock@@SGXN@Z
; public: static void __stdcall CSmallSpinLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CSmallSpinLock@@SGXN@Z
; public: static void __stdcall CSpinLock::SetDefaultSpinAdjustmentFactor(double)
?SetDefaultSpinAdjustmentFactor@CSpinLock@@SGXN@Z
; public: static void __stdcall CCritSec::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CCritSec@@SGXG@Z
; public: static void __stdcall CFakeLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CFakeLock@@SGXG@Z
; public: static void __stdcall CReaderWriterLock2::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock2@@SGXG@Z
; public: static void __stdcall CReaderWriterLock3::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock3@@SGXG@Z
; public: static void __stdcall CReaderWriterLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CReaderWriterLock@@SGXG@Z
; public: static void __stdcall CRtlResource::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CRtlResource@@SGXG@Z
; public: static void __stdcall CShareLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CShareLock@@SGXG@Z
; public: static void __stdcall CSmallSpinLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CSmallSpinLock@@SGXG@Z
; public: static void __stdcall CSpinLock::SetDefaultSpinCount(unsigned short)
?SetDefaultSpinCount@CSpinLock@@SGXG@Z
; public: int __thiscall STR::SetLen(unsigned long)
?SetLen@STR@@QAEHK@Z
; public: int __thiscall STRA::SetLen(unsigned long)
?SetLen@STRA@@QAEHK@Z
; public: int __thiscall STRAU::SetLen(unsigned long)
?SetLen@STRAU@@QAEHK@Z
; public: int __thiscall STRU::SetLen(unsigned long)
?SetLen@STRU@@QAEHK@Z
; public: void __thiscall ASCLOG_DATETIME_CACHE::SetLocalTime(struct _SYSTEMTIME *)
?SetLocalTime@ASCLOG_DATETIME_CACHE@@QAEXPAU_SYSTEMTIME@@@Z
; public: static int __stdcall ALLOC_CACHE_HANDLER::SetLookasideCleanupInterval(void)
?SetLookasideCleanupInterval@ALLOC_CACHE_HANDLER@@SGHXZ
; public: bool __thiscall CCritSec::SetSpinCount(unsigned short)
?SetSpinCount@CCritSec@@QAE_NG@Z
; public: static unsigned long __stdcall CCritSec::SetSpinCount(struct _RTL_CRITICAL_SECTION *,unsigned long)
?SetSpinCount@CCritSec@@SGKPAU_RTL_CRITICAL_SECTION@@K@Z
; public: bool __thiscall CFakeLock::SetSpinCount(unsigned short)
?SetSpinCount@CFakeLock@@QAE_NG@Z
; public: bool __thiscall CReaderWriterLock2::SetSpinCount(unsigned short)
?SetSpinCount@CReaderWriterLock2@@QAE_NG@Z
; public: bool __thiscall CReaderWriterLock3::SetSpinCount(unsigned short)
?SetSpinCount@CReaderWriterLock3@@QAE_NG@Z
; public: bool __thiscall CReaderWriterLock::SetSpinCount(unsigned short)
?SetSpinCount@CReaderWriterLock@@QAE_NG@Z
; public: bool __thiscall CRtlResource::SetSpinCount(unsigned short)
?SetSpinCount@CRtlResource@@QAE_NG@Z
; public: bool __thiscall CShareLock::SetSpinCount(unsigned short)
?SetSpinCount@CShareLock@@QAE_NG@Z
; public: bool __thiscall CSmallSpinLock::SetSpinCount(unsigned short)
?SetSpinCount@CSmallSpinLock@@QAE_NG@Z
; public: bool __thiscall CSpinLock::SetSpinCount(unsigned short)
?SetSpinCount@CSpinLock@@QAE_NG@Z
; public: void __thiscall EXTLOG_DATETIME_CACHE::SetSystemTime(struct _SYSTEMTIME *)
?SetSystemTime@EXTLOG_DATETIME_CACHE@@QAEXPAU_SYSTEMTIME@@@Z
; public: void __thiscall CLKRHashTable::SetTableLockSpinCount(unsigned short)
?SetTableLockSpinCount@CLKRHashTable@@QAEXG@Z
; public: void __thiscall CLKRLinearHashTable::SetTableLockSpinCount(unsigned short)
?SetTableLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
; public: int __thiscall CDateTime::SetTime(struct _FILETIME const &)
?SetTime@CDateTime@@QAEHABU_FILETIME@@@Z
; public: int __thiscall CDateTime::SetTime(struct _SYSTEMTIME const &)
?SetTime@CDateTime@@QAEHABU_SYSTEMTIME@@@Z
; public: void __thiscall BUFFER_CHAIN_ITEM::SetUsed(unsigned long)
?SetUsed@BUFFER_CHAIN_ITEM@@QAEXK@Z
; public: void __thiscall BUFFER::SetValid(int)
?SetValid@BUFFER@@QAEXH@Z
; public: unsigned long __thiscall CLKRHashTable::Size(void)const 
?Size@CLKRHashTable@@QBEKXZ
; public: unsigned long __thiscall CLKRLinearHashTable::Size(void)const 
?Size@CLKRLinearHashTable@@QBEKXZ
; private: unsigned char __thiscall CSharelock::SleepWaitingForLock(int)
?SleepWaitingForLock@CSharelock@@AAEEH@Z
StringTimeToFileTime
; public: int __thiscall EVENT_LOG::Success(void)const 
?Success@EVENT_LOG@@QBEHXZ
; public: void __thiscall STRA::SyncWithBuffer(void)
?SyncWithBuffer@STRA@@QAEXXZ
; public: void __thiscall STRU::SyncWithBuffer(void)
?SyncWithBuffer@STRU@@QAEXXZ
SystemTimeToGMT
SystemTimeToGMTEx
; public: int __thiscall CEtwTracer::TracePerUrlEnabled(void)
?TracePerUrlEnabled@CEtwTracer@@QAEHXZ
; public: bool __thiscall CReaderWriterLock3::TryConvertSharedToExclusive(void)
?TryConvertSharedToExclusive@CReaderWriterLock3@@QAE_NXZ
; public: bool __thiscall CCritSec::TryReadLock(void)
?TryReadLock@CCritSec@@QAE_NXZ
; public: bool __thiscall CFakeLock::TryReadLock(void)
?TryReadLock@CFakeLock@@QAE_NXZ
; public: bool __thiscall CReaderWriterLock2::TryReadLock(void)
?TryReadLock@CReaderWriterLock2@@QAE_NXZ
; public: bool __thiscall CReaderWriterLock3::TryReadLock(void)
?TryReadLock@CReaderWriterLock3@@QAE_NXZ
; public: bool __thiscall CReaderWriterLock::TryReadLock(void)
?TryReadLock@CReaderWriterLock@@QAE_NXZ
; public: bool __thiscall CRtlResource::TryReadLock(void)
?TryReadLock@CRtlResource@@QAE_NXZ
; public: bool __thiscall CShareLock::TryReadLock(void)
?TryReadLock@CShareLock@@QAE_NXZ
; public: bool __thiscall CSmallSpinLock::TryReadLock(void)
?TryReadLock@CSmallSpinLock@@QAE_NXZ
; public: bool __thiscall CSpinLock::TryReadLock(void)
?TryReadLock@CSpinLock@@QAE_NXZ
; public: bool __thiscall CCritSec::TryWriteLock(void)
?TryWriteLock@CCritSec@@QAE_NXZ
; public: bool __thiscall CFakeLock::TryWriteLock(void)
?TryWriteLock@CFakeLock@@QAE_NXZ
; public: bool __thiscall CReaderWriterLock2::TryWriteLock(void)
?TryWriteLock@CReaderWriterLock2@@QAE_NXZ
; public: bool __thiscall CReaderWriterLock3::TryWriteLock(void)
?TryWriteLock@CReaderWriterLock3@@QAE_NXZ
; public: bool __thiscall CReaderWriterLock::TryWriteLock(void)
?TryWriteLock@CReaderWriterLock@@QAE_NXZ
; public: bool __thiscall CRtlResource::TryWriteLock(void)
?TryWriteLock@CRtlResource@@QAE_NXZ
; public: bool __thiscall CShareLock::TryWriteLock(void)
?TryWriteLock@CShareLock@@QAE_NXZ
; public: bool __thiscall CSmallSpinLock::TryWriteLock(void)
?TryWriteLock@CSmallSpinLock@@QAE_NXZ
; public: bool __thiscall CSpinLock::TryWriteLock(void)
?TryWriteLock@CSpinLock@@QAE_NXZ
; long __stdcall UlCleanAndCopyUrl(unsigned char *,unsigned long,unsigned long *,unsigned short *,unsigned short * *)
?UlCleanAndCopyUrl@@YGJPAEKPAKPAGPAPAG@Z
; public: unsigned long __thiscall CEtwTracer::UnRegister(void)
?UnRegister@CEtwTracer@@QAEKXZ
; public: int __thiscall STR::Unescape(void)
?Unescape@STR@@QAEHXZ
; public: long __thiscall STRA::Unescape(void)
?Unescape@STRA@@QAEJXZ
; public: long __thiscall STRU::Unescape(void)
?Unescape@STRU@@QAEJXZ
; public: void __thiscall STR::Unhash(void)
?Unhash@STR@@QAEXXZ
; private: void __thiscall ALLOC_CACHE_HANDLER::Unlock(void)
?Unlock@ALLOC_CACHE_HANDLER@@AAEXXZ
; public: void __thiscall CLockedDoubleList::Unlock(void)
?Unlock@CLockedDoubleList@@QAEXXZ
; public: void __thiscall CLockedSingleList::Unlock(void)
?Unlock@CLockedSingleList@@QAEXXZ
; private: void __thiscall HASH_TABLE_BUCKET::Unlock(void)
?Unlock@HASH_TABLE_BUCKET@@AAEXXZ
; public: void __thiscall TS_RESOURCE::Unlock(void)
?Unlock@TS_RESOURCE@@QAEXXZ
; public: unsigned char __thiscall CSharelock::UpdateMaxSpins(int)
?UpdateMaxSpins@CSharelock@@QAEEH@Z
; public: unsigned char __thiscall CSharelock::UpdateMaxUsers(int)
?UpdateMaxUsers@CSharelock@@QAEEH@Z
; public: bool __thiscall CLKRHashTable::ValidSignature(void)const 
?ValidSignature@CLKRHashTable@@QBE_NXZ
; public: bool __thiscall CLKRLinearHashTable::ValidSignature(void)const 
?ValidSignature@CLKRLinearHashTable@@QBE_NXZ
; private: void __thiscall BUFFER::VerifyState(void)const 
?VerifyState@BUFFER@@ABEXXZ
; private: unsigned char __thiscall CSharelock::WaitForExclusiveLock(int)
?WaitForExclusiveLock@CSharelock@@AAEEH@Z
; private: unsigned char __thiscall CSharelock::WaitForShareLock(int)
?WaitForShareLock@CSharelock@@AAEEH@Z
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<1,1,3,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$00$00$02$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<2,1,1,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$01$00$00$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<3,1,1,1,1,1>::WaitType(void)
?WaitType@?$CLockBase@$02$00$00$00$00$00@@SG?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<4,1,1,2,3,3>::WaitType(void)
?WaitType@?$CLockBase@$03$00$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<5,2,1,2,3,3>::WaitType(void)
?WaitType@?$CLockBase@$04$01$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<6,2,1,2,3,3>::WaitType(void)
?WaitType@?$CLockBase@$05$01$00$01$02$02@@SG?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<7,2,2,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$06$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<8,2,2,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$07$01$01$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
; public: static enum LOCK_WAIT_TYPE  __stdcall CLockBase<9,2,1,1,3,2>::WaitType(void)
?WaitType@?$CLockBase@$08$01$00$00$02$01@@SG?AW4LOCK_WAIT_TYPE@@XZ
; private: void __thiscall CSharelock::WakeAllSleepers(void)
?WakeAllSleepers@CSharelock@@AAEXXZ
; public: bool __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::Write(struct DATETIME_FORMAT_ENTRY const &)
?Write@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@QAE_NABUDATETIME_FORMAT_ENTRY@@@Z
; public: bool __thiscall CDataCache<class CDateTime>::Write(class CDateTime const &)
?Write@?$CDataCache@VCDateTime@@@@QAE_NABVCDateTime@@@Z
; public: void __thiscall CCritSec::WriteLock(void)
?WriteLock@CCritSec@@QAEXXZ
; public: void __thiscall CFakeLock::WriteLock(void)
?WriteLock@CFakeLock@@QAEXXZ
; public: void __thiscall CLKRHashTable::WriteLock(void)
?WriteLock@CLKRHashTable@@QAEXXZ
; public: void __thiscall CLKRLinearHashTable::WriteLock(void)
?WriteLock@CLKRLinearHashTable@@QAEXXZ
; public: void __thiscall CReaderWriterLock2::WriteLock(void)
?WriteLock@CReaderWriterLock2@@QAEXXZ
; public: void __thiscall CReaderWriterLock3::WriteLock(void)
?WriteLock@CReaderWriterLock3@@QAEXXZ
; public: void __thiscall CReaderWriterLock::WriteLock(void)
?WriteLock@CReaderWriterLock@@QAEXXZ
; public: void __thiscall CRtlResource::WriteLock(void)
?WriteLock@CRtlResource@@QAEXXZ
; public: void __thiscall CShareLock::WriteLock(void)
?WriteLock@CShareLock@@QAEXXZ
; public: void __thiscall CSmallSpinLock::WriteLock(void)
?WriteLock@CSmallSpinLock@@QAEXXZ
; public: void __thiscall CSpinLock::WriteLock(void)
?WriteLock@CSpinLock@@QAEXXZ
; public: void __thiscall CCritSec::WriteUnlock(void)
?WriteUnlock@CCritSec@@QAEXXZ
; public: void __thiscall CFakeLock::WriteUnlock(void)
?WriteUnlock@CFakeLock@@QAEXXZ
; public: void __thiscall CLKRHashTable::WriteUnlock(void)const 
?WriteUnlock@CLKRHashTable@@QBEXXZ
; public: void __thiscall CLKRLinearHashTable::WriteUnlock(void)const 
?WriteUnlock@CLKRLinearHashTable@@QBEXXZ
; public: void __thiscall CReaderWriterLock2::WriteUnlock(void)
?WriteUnlock@CReaderWriterLock2@@QAEXXZ
; public: void __thiscall CReaderWriterLock3::WriteUnlock(void)
?WriteUnlock@CReaderWriterLock3@@QAEXXZ
; public: void __thiscall CReaderWriterLock::WriteUnlock(void)
?WriteUnlock@CReaderWriterLock@@QAEXXZ
; public: void __thiscall CRtlResource::WriteUnlock(void)
?WriteUnlock@CRtlResource@@QAEXXZ
; public: void __thiscall CShareLock::WriteUnlock(void)
?WriteUnlock@CShareLock@@QAEXXZ
; public: void __thiscall CSmallSpinLock::WriteUnlock(void)
?WriteUnlock@CSmallSpinLock@@QAEXXZ
; public: void __thiscall CSpinLock::WriteUnlock(void)
?WriteUnlock@CSpinLock@@QAEXXZ
ZapRegistryKey
; protected: void __thiscall CLKRLinearHashTable_Iterator::_AddRef(int)const 
?_AddRef@CLKRLinearHashTable_Iterator@@IBEXH@Z
; private: void __thiscall CLKRLinearHashTable::_AddRefRecord(void const *,int)const 
?_AddRefRecord@CLKRLinearHashTable@@ABEXPBXH@Z
; private: static class CNodeClump * __stdcall CLKRLinearHashTable::_AllocateNodeClump(void)
?_AllocateNodeClump@CLKRLinearHashTable@@CGQAVCNodeClump@@XZ
; private: class CSegment * __thiscall CLKRLinearHashTable::_AllocateSegment(void)const 
?_AllocateSegment@CLKRLinearHashTable@@ABEQAVCSegment@@XZ
; private: static class CDirEntry * __stdcall CLKRLinearHashTable::_AllocateSegmentDirectory(unsigned int)
?_AllocateSegmentDirectory@CLKRLinearHashTable@@CGQAVCDirEntry@@I@Z
; private: static class CLKRLinearHashTable * __stdcall CLKRHashTable::_AllocateSubTable(char const *,unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),double,unsigned long,class CLKRHashTable *,bool)
?_AllocateSubTable@CLKRHashTable@@CGQAVCLKRLinearHashTable@@PBDP6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX1H@ZNKPAV1@_N@Z
; private: static class CLKRLinearHashTable * * __stdcall CLKRHashTable::_AllocateSubTableArray(unsigned int)
?_AllocateSubTableArray@CLKRHashTable@@CGQAPAVCLKRLinearHashTable@@I@Z
; private: unsigned long __thiscall CLKRLinearHashTable::_Apply(enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE,enum LK_PREDICATE &)
?_Apply@CLKRLinearHashTable@@AAEKP6G?AW4LK_ACTION@@PBXPAX@Z1W4LK_LOCKTYPE@@AAW4LK_PREDICATE@@@Z
; private: unsigned long __thiscall CLKRLinearHashTable::_ApplyIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),enum LK_ACTION  (__stdcall*)(void const *,void *),void *,enum LK_LOCKTYPE,enum LK_PREDICATE &)
?_ApplyIf@CLKRLinearHashTable@@AAEKP6G?AW4LK_PREDICATE@@PBXPAX@ZP6G?AW4LK_ACTION@@01@Z1W4LK_LOCKTYPE@@AAW42@@Z
; private: class CBucket * __thiscall CLKRLinearHashTable::_Bucket(unsigned long)const 
?_Bucket@CLKRLinearHashTable@@ABEPAVCBucket@@K@Z
; private: unsigned long __thiscall CLKRLinearHashTable::_BucketAddress(unsigned long)const 
?_BucketAddress@CLKRLinearHashTable@@ABEKK@Z
; private: unsigned long __thiscall CLKRHashTable::_CalcKeyHash(unsigned long)const 
?_CalcKeyHash@CLKRHashTable@@ABEKK@Z
; private: unsigned long __thiscall CLKRLinearHashTable::_CalcKeyHash(unsigned long)const 
?_CalcKeyHash@CLKRLinearHashTable@@ABEKK@Z
; private: void __thiscall CLKRLinearHashTable::_Clear(bool)
?_Clear@CLKRLinearHashTable@@AAEX_N@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_CloseIterator(class CLKRLinearHashTable::CIterator *)
?_CloseIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
; private: bool __thiscall CReaderWriterLock2::_CmpExch(long,long)
?_CmpExch@CReaderWriterLock2@@AAE_NJJ@Z
; private: bool __thiscall CReaderWriterLock3::_CmpExch(long,long)
?_CmpExch@CReaderWriterLock3@@AAE_NJJ@Z
; private: bool __thiscall CReaderWriterLock::_CmpExch(long,long)
?_CmpExch@CReaderWriterLock@@AAE_NJJ@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Contract(void)
?_Contract@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@XZ
; private: static long __stdcall CReaderWriterLock3::_CurrentThreadId(void)
?_CurrentThreadId@CReaderWriterLock3@@CGJXZ
; private: static long __stdcall CSmallSpinLock::_CurrentThreadId(void)
?_CurrentThreadId@CSmallSpinLock@@CGJXZ
; private: static long __stdcall CSpinLock::_CurrentThreadId(void)
?_CurrentThreadId@CSpinLock@@CGJXZ
; private: unsigned long __thiscall CLKRLinearHashTable::_DeleteIf(enum LK_PREDICATE  (__stdcall*)(void const *,void *),void *,enum LK_PREDICATE &)
?_DeleteIf@CLKRLinearHashTable@@AAEKP6G?AW4LK_PREDICATE@@PBXPAX@Z1AAW42@@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_DeleteKey(unsigned long,unsigned long)
?_DeleteKey@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@KK@Z
; private: bool __thiscall CLKRLinearHashTable::_DeleteNode(class CBucket *,class CNodeClump * &,class CNodeClump * &,int &)
?_DeleteNode@CLKRLinearHashTable@@AAE_NPAVCBucket@@AAPAVCNodeClump@@1AAH@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_DeleteRecord(void const *,unsigned long)
?_DeleteRecord@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PBXK@Z
; private: bool __thiscall CLKRLinearHashTable::_EqualKeys(unsigned long,unsigned long)const 
?_EqualKeys@CLKRLinearHashTable@@ABE_NKK@Z
; private: bool __thiscall CLKRLinearHashTable::_Erase(class CLKRLinearHashTable_Iterator &,unsigned long)
?_Erase@CLKRLinearHashTable@@AAE_NAAVCLKRLinearHashTable_Iterator@@K@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Expand(void)
?_Expand@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@XZ
; private: unsigned long const  __thiscall CLKRHashTable::_ExtractKey(void const *)const 
?_ExtractKey@CLKRHashTable@@ABE?BKPBX@Z
; private: unsigned long const  __thiscall CLKRLinearHashTable::_ExtractKey(void const *)const 
?_ExtractKey@CLKRLinearHashTable@@ABE?BKPBX@Z
; private: class CBucket * __thiscall CLKRLinearHashTable::_FindBucket(unsigned long,bool)const 
?_FindBucket@CLKRLinearHashTable@@ABEPAVCBucket@@K_N@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_FindKey(unsigned long,unsigned long,void const * *,class CLKRLinearHashTable_Iterator *)const 
?_FindKey@CLKRLinearHashTable@@ABE?AW4LK_RETCODE@@KKPAPBXPAVCLKRLinearHashTable_Iterator@@@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_FindRecord(void const *,unsigned long)const 
?_FindRecord@CLKRLinearHashTable@@ABE?AW4LK_RETCODE@@PBXK@Z
; private: static bool __stdcall CLKRLinearHashTable::_FreeNodeClump(class CNodeClump *)
?_FreeNodeClump@CLKRLinearHashTable@@CG_NPAVCNodeClump@@@Z
; private: bool __thiscall CLKRLinearHashTable::_FreeSegment(class CSegment *)const 
?_FreeSegment@CLKRLinearHashTable@@ABE_NPAVCSegment@@@Z
; private: bool __thiscall CLKRLinearHashTable::_FreeSegmentDirectory(void)
?_FreeSegmentDirectory@CLKRLinearHashTable@@AAE_NXZ
; private: static bool __stdcall CLKRHashTable::_FreeSubTable(class CLKRLinearHashTable *)
?_FreeSubTable@CLKRHashTable@@CG_NPAVCLKRLinearHashTable@@@Z
; private: static bool __stdcall CLKRHashTable::_FreeSubTableArray(class CLKRLinearHashTable * *)
?_FreeSubTableArray@CLKRHashTable@@CG_NPAPAVCLKRLinearHashTable@@@Z
; private: unsigned long __thiscall CLKRLinearHashTable::_H0(unsigned long)const 
?_H0@CLKRLinearHashTable@@ABEKK@Z
; private: static unsigned long __stdcall CLKRLinearHashTable::_H0(unsigned long,unsigned long)
?_H0@CLKRLinearHashTable@@CGKKK@Z
; private: unsigned long __thiscall CLKRLinearHashTable::_H1(unsigned long)const 
?_H1@CLKRLinearHashTable@@ABEKK@Z
; private: static unsigned long __stdcall CLKRLinearHashTable::_H1(unsigned long,unsigned long)
?_H1@CLKRLinearHashTable@@CGKKK@Z
; protected: bool __thiscall CLKRHashTable_Iterator::_Increment(bool)
?_Increment@CLKRHashTable_Iterator@@IAE_N_N@Z
; protected: bool __thiscall CLKRLinearHashTable_Iterator::_Increment(bool)
?_Increment@CLKRLinearHashTable_Iterator@@IAE_N_N@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_Initialize(unsigned long const  (__stdcall*)(void const *),unsigned long (__stdcall*)(unsigned long),bool (__stdcall*)(unsigned long,unsigned long),void (__stdcall*)(void const *,int),char const *,double,unsigned long)
?_Initialize@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@P6G?BKPBX@ZP6GKK@ZP6G_NKK@ZP6GX0H@ZPBDNK@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InitializeIterator(class CLKRLinearHashTable::CIterator *)
?_InitializeIterator@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCIterator@1@@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_InsertRecord(void const *,unsigned long,bool,class CLKRLinearHashTable_Iterator *)
?_InsertRecord@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PBXK_NPAVCLKRLinearHashTable_Iterator@@@Z
; private: void __thiscall CLKRHashTable::_InsertThisIntoGlobalList(void)
?_InsertThisIntoGlobalList@CLKRHashTable@@AAEXXZ
; private: void __thiscall CLKRLinearHashTable::_InsertThisIntoGlobalList(void)
?_InsertThisIntoGlobalList@CLKRLinearHashTable@@AAEXXZ
; private: bool __thiscall CSpinLock::_IsLocked(void)const 
?_IsLocked@CSpinLock@@ABE_NXZ
; private: int __thiscall CLKRLinearHashTable::_IsNodeCompact(class CBucket * const)const 
?_IsNodeCompact@CLKRLinearHashTable@@ABEHQAVCBucket@@@Z
; private: bool __thiscall CLKRHashTable::_IsValidIterator(class CLKRHashTable_Iterator const &)const 
?_IsValidIterator@CLKRHashTable@@ABE_NABVCLKRHashTable_Iterator@@@Z
; private: bool __thiscall CLKRLinearHashTable::_IsValidIterator(class CLKRLinearHashTable_Iterator const &)const 
?_IsValidIterator@CLKRLinearHashTable@@ABE_NABVCLKRLinearHashTable_Iterator@@@Z
; private: void __thiscall CSpinLock::_Lock(void)
?_Lock@CSpinLock@@AAEXXZ
; private: void __thiscall CReaderWriterLock2::_LockSpin(bool)
?_LockSpin@CReaderWriterLock2@@AAEX_N@Z
; private: void __thiscall CReaderWriterLock3::_LockSpin(enum CReaderWriterLock3::SPIN_TYPE)
?_LockSpin@CReaderWriterLock3@@AAEXW4SPIN_TYPE@1@@Z
; private: void __thiscall CReaderWriterLock::_LockSpin(bool)
?_LockSpin@CReaderWriterLock@@AAEX_N@Z
; private: void __thiscall CSmallSpinLock::_LockSpin(void)
?_LockSpin@CSmallSpinLock@@AAEXXZ
; private: void __thiscall CSpinLock::_LockSpin(void)
?_LockSpin@CSpinLock@@AAEXXZ
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_MergeRecordSets(class CBucket *,class CNodeClump *,class CNodeClump *)
?_MergeRecordSets@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCBucket@@PAVCNodeClump@@1@Z
; private: static enum LK_PREDICATE  __stdcall CLKRLinearHashTable::_PredTrue(void const *,void *)
?_PredTrue@CLKRLinearHashTable@@CG?AW4LK_PREDICATE@@PBXPAX@Z
; private: void __thiscall CReaderWriterLock2::_ReadLockSpin(void)
?_ReadLockSpin@CReaderWriterLock2@@AAEXXZ
; private: void __thiscall CReaderWriterLock3::_ReadLockSpin(enum CReaderWriterLock3::SPIN_TYPE)
?_ReadLockSpin@CReaderWriterLock3@@AAEXW4SPIN_TYPE@1@@Z
; private: void __thiscall CReaderWriterLock::_ReadLockSpin(void)
?_ReadLockSpin@CReaderWriterLock@@AAEXXZ
; protected: static void __stdcall CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadMemoryBarrier(void)
?_ReadMemoryBarrier@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@KGXXZ
; protected: static void __stdcall CDataCache<class CDateTime>::_ReadMemoryBarrier(void)
?_ReadMemoryBarrier@?$CDataCache@VCDateTime@@@@KGXXZ
; private: bool __thiscall CLKRLinearHashTable::_ReadOrWriteLock(void)const 
?_ReadOrWriteLock@CLKRLinearHashTable@@ABE_NXZ
; private: void __thiscall CLKRLinearHashTable::_ReadOrWriteUnlock(bool)const 
?_ReadOrWriteUnlock@CLKRLinearHashTable@@ABEX_N@Z
; protected: long __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::_ReadSequence(void)const 
?_ReadSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IBEJXZ
; protected: long __thiscall CDataCache<class CDateTime>::_ReadSequence(void)const 
?_ReadSequence@?$CDataCache@VCDateTime@@@@IBEJXZ
; private: void __thiscall CLKRHashTable::_RemoveThisFromGlobalList(void)
?_RemoveThisFromGlobalList@CLKRHashTable@@AAEXXZ
; private: void __thiscall CLKRLinearHashTable::_RemoveThisFromGlobalList(void)
?_RemoveThisFromGlobalList@CLKRLinearHashTable@@AAEXXZ
; private: unsigned long __thiscall CLKRLinearHashTable::_SegIndex(unsigned long)const 
?_SegIndex@CLKRLinearHashTable@@ABEKK@Z
; private: class CSegment * & __thiscall CLKRLinearHashTable::_Segment(unsigned long)const 
?_Segment@CLKRLinearHashTable@@ABEAAPAVCSegment@@K@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_SetSegVars(enum LK_TABLESIZE,unsigned long)
?_SetSegVars@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@W4LK_TABLESIZE@@K@Z
; protected: long __thiscall CDataCache<struct DATETIME_FORMAT_ENTRY>::_SetSequence(long)
?_SetSequence@?$CDataCache@UDATETIME_FORMAT_ENTRY@@@@IAEJJ@Z
; protected: long __thiscall CDataCache<class CDateTime>::_SetSequence(long)
?_SetSequence@?$CDataCache@VCDateTime@@@@IAEJJ@Z
; private: enum LK_RETCODE  __thiscall CLKRLinearHashTable::_SplitRecordSet(class CNodeClump *,class CNodeClump *,unsigned long,unsigned long,unsigned long,class CNodeClump *)
?_SplitRecordSet@CLKRLinearHashTable@@AAE?AW4LK_RETCODE@@PAVCNodeClump@@0KKK0@Z
; private: class CLKRLinearHashTable * __thiscall CLKRHashTable::_SubTable(unsigned long)const 
?_SubTable@CLKRHashTable@@ABEPAVCLKRLinearHashTable@@K@Z
; private: int __thiscall CLKRHashTable::_SubTableIndex(class CLKRLinearHashTable *)const 
?_SubTableIndex@CLKRHashTable@@ABEHPAVCLKRLinearHashTable@@@Z
; private: bool __thiscall CSmallSpinLock::_TryLock(void)
?_TryLock@CSmallSpinLock@@AAE_NXZ
; private: bool __thiscall CSpinLock::_TryLock(void)
?_TryLock@CSpinLock@@AAE_NXZ
; private: bool __thiscall CReaderWriterLock2::_TryReadLock(void)
?_TryReadLock@CReaderWriterLock2@@AAE_NXZ
; private: bool __thiscall CReaderWriterLock3::_TryReadLock(void)
?_TryReadLock@CReaderWriterLock3@@AAE_NXZ
; private: bool __thiscall CReaderWriterLock::_TryReadLock(void)
?_TryReadLock@CReaderWriterLock@@AAE_NXZ
; private: bool __thiscall CReaderWriterLock3::_TryReadLockRecursive(void)
?_TryReadLockRecursive@CReaderWriterLock3@@AAE_NXZ
; private: bool __thiscall CReaderWriterLock3::_TryWriteLock2(void)
?_TryWriteLock2@CReaderWriterLock3@@AAE_NXZ
; private: bool __thiscall CReaderWriterLock2::_TryWriteLock(long)
?_TryWriteLock@CReaderWriterLock2@@AAE_NJ@Z
; private: bool __thiscall CReaderWriterLock3::_TryWriteLock(long)
?_TryWriteLock@CReaderWriterLock3@@AAE_NJ@Z
; private: bool __thiscall CReaderWriterLock::_TryWriteLock(void)
?_TryWriteLock@CReaderWriterLock@@AAE_NXZ
; private: void __thiscall CSpinLock::_Unlock(void)
?_Unlock@CSpinLock@@AAEXXZ
; private: void __thiscall CReaderWriterLock2::_WriteLockSpin(void)
?_WriteLockSpin@CReaderWriterLock2@@AAEXXZ
; private: void __thiscall CReaderWriterLock3::_WriteLockSpin(void)
?_WriteLockSpin@CReaderWriterLock3@@AAEXXZ
; private: void __thiscall CReaderWriterLock::_WriteLockSpin(void)
?_WriteLockSpin@CReaderWriterLock@@AAEXXZ
; long const * const  `public: static long const * __stdcall CLKRHashTableStats::BucketSizes(void)'::`2'::s_aBucketSizes
?s_aBucketSizes@?1??BucketSizes@CLKRHashTableStats@@SGPBJXZ@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 *  ALLOC_CACHE_HANDLER::sm_hTimer
?sm_hTimer@ALLOC_CACHE_HANDLER@@0PAXA 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 *  CLKRLinearHashTable::sm_palloc
?sm_palloc@CLKRLinearHashTable@@1PAVALLOC_CACHE_HANDLER@@A 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@0
GetCurrentTimeInMilliseconds
GetCurrentTimeInSeconds
GetQueryType
IISCaptureStackBackTrace
_IISGetCurrentTime@8
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@8
