; 
; Exports of file IISUTIL.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY IISUTIL.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 CHUNK_BUFFER::CHUNK_BUFFER(void)
??0CHUNK_BUFFER@@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 CSecurityDispenser::CSecurityDispenser(void)
??0CSecurityDispenser@@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(unsigned short const *)
??0EVENT_LOG@@QAE@PBG@Z
; public: __thiscall EXTLOG_DATETIME_CACHE::EXTLOG_DATETIME_CACHE(void)
??0EXTLOG_DATETIME_CACHE@@QAE@XZ
; private: __thiscall IPM_MESSAGE_PIPE::IPM_MESSAGE_PIPE(void)
??0IPM_MESSAGE_PIPE@@AAE@XZ
; public: __thiscall MB::MB(struct IMSAdminBaseW *)
??0MB@@QAE@PAUIMSAdminBaseW@@@Z
; public: __thiscall MB_BASE_NOTIFICATION_SINK::MB_BASE_NOTIFICATION_SINK(void)
??0MB_BASE_NOTIFICATION_SINK@@QAE@XZ
; public: __thiscall MULTISZ::MULTISZ(class MULTISZ const &)
??0MULTISZ@@QAE@ABV0@@Z
; public: __thiscall MULTISZ::MULTISZ(unsigned short *,unsigned long)
??0MULTISZ@@QAE@PAGK@Z
; public: __thiscall MULTISZ::MULTISZ(unsigned short const *)
??0MULTISZ@@QAE@PBG@Z
; public: __thiscall MULTISZ::MULTISZ(void)
??0MULTISZ@@QAE@XZ
; public: __thiscall MULTISZA::MULTISZA(class MULTISZA const &)
??0MULTISZA@@QAE@ABV0@@Z
; public: __thiscall MULTISZA::MULTISZA(char *,unsigned long)
??0MULTISZA@@QAE@PADK@Z
; public: __thiscall MULTISZA::MULTISZA(char const *)
??0MULTISZA@@QAE@PBD@Z
; public: __thiscall MULTISZA::MULTISZA(void)
??0MULTISZA@@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 W3_TRACE_LOG::W3_TRACE_LOG(class W3_TRACE_LOG_FACTORY *)
??0W3_TRACE_LOG@@QAE@PAVW3_TRACE_LOG_FACTORY@@@Z
; private: __thiscall W3_TRACE_LOG_FACTORY::W3_TRACE_LOG_FACTORY(void)
??0W3_TRACE_LOG_FACTORY@@AAE@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 CHUNK_BUFFER::~CHUNK_BUFFER(void)
??1CHUNK_BUFFER@@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 CSecurityDispenser::~CSecurityDispenser(void)
??1CSecurityDispenser@@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
; private: __thiscall IPM_MESSAGE_PIPE::~IPM_MESSAGE_PIPE(void)
??1IPM_MESSAGE_PIPE@@AAE@XZ
; public: __thiscall MB::~MB(void)
??1MB@@QAE@XZ
; public: virtual __thiscall MB_BASE_NOTIFICATION_SINK::~MB_BASE_NOTIFICATION_SINK(void)
??1MB_BASE_NOTIFICATION_SINK@@UAE@XZ
; public: __thiscall MULTISZ::~MULTISZ(void)
??1MULTISZ@@QAE@XZ
; public: __thiscall MULTISZA::~MULTISZA(void)
??1MULTISZA@@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
; private: __thiscall W3_TRACE_LOG::~W3_TRACE_LOG(void)
??1W3_TRACE_LOG@@AAE@XZ
; private: __thiscall W3_TRACE_LOG_FACTORY::~W3_TRACE_LOG_FACTORY(void)
??1W3_TRACE_LOG_FACTORY@@AAE@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 CHUNK_BUFFER & __thiscall CHUNK_BUFFER::operator=(class CHUNK_BUFFER const &)
??4CHUNK_BUFFER@@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 CSecurityDispenser & __thiscall CSecurityDispenser::operator=(class CSecurityDispenser const &)
??4CSecurityDispenser@@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 IPM_MESSAGE_PIPE & __thiscall IPM_MESSAGE_PIPE::operator=(class IPM_MESSAGE_PIPE const &)
??4IPM_MESSAGE_PIPE@@QAEAAV0@ABV0@@Z
; public: class MB & __thiscall MB::operator=(class MB const &)
??4MB@@QAEAAV0@ABV0@@Z
; public: class MULTISZ & __thiscall MULTISZ::operator=(class MULTISZ const &)
??4MULTISZ@@QAEAAV0@ABV0@@Z
; public: class MULTISZA & __thiscall MULTISZA::operator=(class MULTISZA const &)
??4MULTISZA@@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: class W3_TRACE_LOG & __thiscall W3_TRACE_LOG::operator=(class W3_TRACE_LOG const &)
??4W3_TRACE_LOG@@QAEAAV0@ABV0@@Z
; public: class W3_TRACE_LOG_FACTORY & __thiscall W3_TRACE_LOG_FACTORY::operator=(class W3_TRACE_LOG_FACTORY const &)
??4W3_TRACE_LOG_FACTORY@@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  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
ACopyToW
; public: int __thiscall CSharelock::ActiveUsers(void)
?ActiveUsers@CSharelock@@QAEHXZ
; private: long __thiscall CHUNK_BUFFER::AddNewBlock(unsigned long)
?AddNewBlock@CHUNK_BUFFER@@AAEJK@Z
; public: int __thiscall MB::AddObject(unsigned short const *)
?AddObject@MB@@QAEHPBG@Z
; public: virtual unsigned long __stdcall MB_BASE_NOTIFICATION_SINK::AddRef(void)
?AddRef@MB_BASE_NOTIFICATION_SINK@@UAGKXZ
AddWpgToTokenDefaultDacl
; public: unsigned long __thiscall CSecurityDispenser::AdjustTokenForAdministrators(void *)
?AdjustTokenForAdministrators@CSecurityDispenser@@QAEKPAX@Z
; public: void * __thiscall ALLOC_CACHE_HANDLER::Alloc(void)
?Alloc@ALLOC_CACHE_HANDLER@@QAEPAXXZ
AllocateAndCreateWellKnownAcl
AllocateAndCreateWellKnownSid
; public: long __thiscall CHUNK_BUFFER::AllocateSpace(unsigned long,char * *)
?AllocateSpace@CHUNK_BUFFER@@QAEJKPAPAD@Z
; public: long __thiscall CHUNK_BUFFER::AllocateSpace(unsigned long,unsigned short * *)
?AllocateSpace@CHUNK_BUFFER@@QAEJKPAPAG@Z
; public: long __thiscall CHUNK_BUFFER::AllocateSpace(unsigned long,void * *)
?AllocateSpace@CHUNK_BUFFER@@QAEJKPAPAX@Z
; public: long __thiscall CHUNK_BUFFER::AllocateSpace(char *,unsigned long,char * *)
?AllocateSpace@CHUNK_BUFFER@@QAEJPADKPAPAD@Z
; public: long __thiscall CHUNK_BUFFER::AllocateSpace(unsigned short *,unsigned long,unsigned short * *)
?AllocateSpace@CHUNK_BUFFER@@QAEJPAGKPAPAG@Z
AlterDesktopForUser
; public: int __thiscall MULTISZ::Append(class STRU &)
?Append@MULTISZ@@QAEHAAVSTRU@@@Z
; public: int __thiscall MULTISZ::Append(unsigned short const *)
?Append@MULTISZ@@QAEHPBG@Z
; public: int __thiscall MULTISZ::Append(unsigned short const *,unsigned long)
?Append@MULTISZ@@QAEHPBGK@Z
; public: int __thiscall MULTISZA::Append(class STRA &)
?Append@MULTISZA@@QAEHAAVSTRA@@@Z
; public: int __thiscall MULTISZA::Append(char const *)
?Append@MULTISZA@@QAEHPBD@Z
; public: int __thiscall MULTISZA::Append(char const *,unsigned long)
?Append@MULTISZA@@QAEHPBDK@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: long __thiscall W3_TRACE_LOG_FACTORY::AppendData(void *,unsigned long)
?AppendData@W3_TRACE_LOG_FACTORY@@QAEJPAXK@Z
; public: int __thiscall MULTISZA::AppendW(unsigned short const *)
?AppendW@MULTISZA@@QAEHPBG@Z
; public: int __thiscall MULTISZA::AppendW(unsigned short const *,unsigned long)
?AppendW@MULTISZA@@QAEHPBGK@Z
; 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 short const *,unsigned int,int)
?AuxAppend@MULTISZ@@AAEHPBGIH@Z
; private: int __thiscall MULTISZA::AuxAppend(unsigned char const *,unsigned int,int)
?AuxAppend@MULTISZA@@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: int __thiscall MULTISZA::AuxAppendW(unsigned short const *,unsigned int,int)
?AuxAppendW@MULTISZA@@AAEHPBGIH@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 MULTISZ::AuxInit(unsigned short const *)
?AuxInit@MULTISZ@@AAEXPBG@Z
; private: void __thiscall MULTISZA::AuxInit(unsigned char const *)
?AuxInit@MULTISZA@@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(unsigned short const *,unsigned long *)
?CalcLength@MULTISZ@@SGKPBGPAK@Z
; public: static unsigned long __stdcall MULTISZA::CalcLength(char const *,unsigned long *)
?CalcLength@MULTISZA@@SGKPBDPAK@Z
; public: unsigned long __thiscall BUFFER_CHAIN::CalcTotalSize(int)const 
?CalcTotalSize@BUFFER_CHAIN@@QBEKH@Z
; 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 unsigned short const * __stdcall CCritSec::ClassName(void)
?ClassName@CCritSec@@SGPBGXZ
; 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 unsigned short const * __stdcall CReaderWriterLock2::ClassName(void)
?ClassName@CReaderWriterLock2@@SGPBGXZ
; public: static unsigned short const * __stdcall CReaderWriterLock3::ClassName(void)
?ClassName@CReaderWriterLock3@@SGPBGXZ
; 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 unsigned short const * __stdcall CSmallSpinLock::ClassName(void)
?ClassName@CSmallSpinLock@@SGPBGXZ
; 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: 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 W3_TRACE_LOG::ClearBuffer(void)
?ClearBuffer@W3_TRACE_LOG@@QAEXXZ
; public: int __thiscall MULTISZ::Clone(class MULTISZ *)const 
?Clone@MULTISZ@@QBEHPAV1@@Z
; public: int __thiscall MULTISZA::Clone(class MULTISZA *)const 
?Clone@MULTISZA@@QBEHPAV1@@Z
; public: long __thiscall STRA::Clone(class STRA *)const 
?Clone@STRA@@QBEJPAV1@@Z
; public: int __thiscall MB::Close(void)
?Close@MB@@QAEHXZ
CompareStringNoCase
; 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
ConvertUnicodeToMultiByte
; public: int __thiscall MULTISZ::Copy(class MULTISZ const &)
?Copy@MULTISZ@@QAEHABV1@@Z
; public: int __thiscall MULTISZ::Copy(unsigned short const *,unsigned long)
?Copy@MULTISZ@@QAEHPBGK@Z
; public: int __thiscall MULTISZA::Copy(class MULTISZA const &)
?Copy@MULTISZA@@QAEHABV1@@Z
; public: int __thiscall MULTISZA::Copy(char const *,unsigned long)
?Copy@MULTISZA@@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(unsigned short *,unsigned long *)const 
?CopyToBuffer@MULTISZ@@QBEHPAGPAK@Z
; public: int __thiscall MULTISZA::CopyToBuffer(char *,unsigned long *)const 
?CopyToBuffer@MULTISZA@@QBEHPADPAK@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
; public: static long __stdcall IPM_MESSAGE_PIPE::CreateIpmMessagePipe(class IPM_MESSAGE_ACCEPTOR *,unsigned short const *,int,struct _SECURITY_ATTRIBUTES *,class IPM_MESSAGE_PIPE * *)
?CreateIpmMessagePipe@IPM_MESSAGE_PIPE@@SGJPAVIPM_MESSAGE_ACCEPTOR@@PBGHPAU_SECURITY_ATTRIBUTES@@PAPAV1@@Z
; public: long __thiscall W3_TRACE_LOG_FACTORY::CreateTraceLog(class W3_TRACE_LOG * *)
?CreateTraceLog@W3_TRACE_LOG_FACTORY@@QAEJPAPAVW3_TRACE_LOG@@@Z
; public: static long __stdcall W3_TRACE_LOG_FACTORY::CreateTraceLogFactory(class W3_TRACE_LOG_FACTORY * *,void *)
?CreateTraceLogFactory@W3_TRACE_LOG_FACTORY@@SGJPAPAV1@PAX@Z
; public: unsigned long __thiscall CDFTCache::DateTimeChars(void)const 
?DateTimeChars@CDFTCache@@QBEKXZ
; char const * __stdcall DayOfWeek3CharNames(unsigned long)
?DayOfWeek3CharNames@@YGPBDK@Z
; private: void __thiscall IPM_MESSAGE_PIPE::DecrementAcceptorInUse(void)
?DecrementAcceptorInUse@IPM_MESSAGE_PIPE@@AAEXXZ
DecryptMemoryPassword
; public: unsigned long __thiscall BUFFER_CHAIN::DeleteChain(void)
?DeleteChain@BUFFER_CHAIN@@QAEKXZ
; public: int __thiscall MB::DeleteData(unsigned short const *,unsigned long,unsigned long,unsigned long)
?DeleteData@MB@@QAEHPBGKKK@Z
; 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: int __thiscall MB::DeleteObject(unsigned short const *)
?DeleteObject@MB@@QAEHPBG@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: void __thiscall IPM_MESSAGE_PIPE::DestroyIpmMessagePipe(void)
?DestroyIpmMessagePipe@IPM_MESSAGE_PIPE@@QAEXXZ
; public: void __thiscall W3_TRACE_LOG::DestroyTraceLog(void)
?DestroyTraceLog@W3_TRACE_LOG@@QAEXXZ
; public: void __thiscall W3_TRACE_LOG_FACTORY::DestroyTraceLogFactory(void)
?DestroyTraceLogFactory@W3_TRACE_LOG_FACTORY@@QAEXXZ
; public: virtual unsigned long __thiscall CEtwTracer::DisableEventsCallbackCustomHandler(void)
?DisableEventsCallbackCustomHandler@CEtwTracer@@UAEKXZ
DisableTokenBackupPrivilege
; public: static int __stdcall ALLOC_CACHE_HANDLER::DumpStatsToHtml(char *,unsigned long *)
?DumpStatsToHtml@ALLOC_CACHE_HANDLER@@SGHPADPAK@Z
DupTokenWithSameImpersonationLevel
; public: virtual unsigned long __thiscall CEtwTracer::EnableEventsCallbackCustomHandler(void)
?EnableEventsCallbackCustomHandler@CEtwTracer@@UAEKXZ
EncryptMemoryPassword
; 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 MB::EnumObjects(unsigned short const *,unsigned short *,unsigned long)
?EnumObjects@MB@@QAEHPBGPAGK@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: long __thiscall STRA::Escape(int,int)
?Escape@STRA@@QAEJHH@Z
; public: long __thiscall STRU::Escape(void)
?Escape@STRU@@QAEJXZ
; 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: 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 STRU &)
?FindString@MULTISZ@@QAEHAAVSTRU@@@Z
; public: int __thiscall MULTISZ::FindString(unsigned short const *)
?FindString@MULTISZ@@QAEHPBG@Z
; public: int __thiscall MULTISZA::FindString(class STRA &)
?FindString@MULTISZA@@QAEHAAVSTRA@@@Z
; public: int __thiscall MULTISZA::FindString(char const *)
?FindString@MULTISZA@@QAEHPBD@Z
; public: int __thiscall MULTISZ::FindStringNoCase(class STRU &)
?FindStringNoCase@MULTISZ@@QAEHAAVSTRU@@@Z
; public: int __thiscall MULTISZ::FindStringNoCase(unsigned short const *)
?FindStringNoCase@MULTISZ@@QAEHPBG@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: unsigned short const * __thiscall MULTISZ::First(void)const 
?First@MULTISZ@@QBEPBGXZ
; public: char const * __thiscall MULTISZA::First(void)const 
?First@MULTISZA@@QBEPBDXZ
FlipSlashes
; 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 CHUNK_BUFFER::FreeAllAllocatedSpace(void)
?FreeAllAllocatedSpace@CHUNK_BUFFER@@QAEXXZ
; public: void __thiscall BUFFER::FreeMemory(void)
?FreeMemory@BUFFER@@QAEXXZ
FreeSecurityAttributes
FreeWellKnownAcl
FreeWellKnownSid
; 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
GenerateNameWithGUID
; public: int __thiscall MB::GetAll(unsigned short const *,unsigned long,unsigned long,class BUFFER *,unsigned long *,unsigned long *)
?GetAll@MB@@QAEHPBGKKPAVBUFFER@@PAK2@Z
; public: unsigned short __thiscall CLKRHashTable::GetBucketLockSpinCount(void)const 
?GetBucketLockSpinCount@CLKRHashTable@@QBEGXZ
; public: unsigned short __thiscall CLKRLinearHashTable::GetBucketLockSpinCount(void)const 
?GetBucketLockSpinCount@CLKRLinearHashTable@@QBEGXZ
; public: int __thiscall MB::GetBuffer(unsigned short const *,unsigned long,unsigned long,class BUFFER *,unsigned long *,unsigned long)
?GetBuffer@MB@@QAEHPBGKKPAVBUFFER@@PAKK@Z
; public: int __thiscall MB::GetChildPaths(unsigned short const *,class BUFFER *)
?GetChildPaths@MB@@QAEHPBGPAVBUFFER@@@Z
; public: int __thiscall MB::GetData(unsigned short const *,unsigned long,unsigned long,unsigned long,void *,unsigned long *,unsigned long)
?GetData@MB@@QAEHPBGKKKPAXPAKK@Z
; public: int __thiscall MB::GetDataPaths(unsigned short const *,unsigned long,unsigned long,class BUFFER *)
?GetDataPaths@MB@@QAEHPBGKKPAVBUFFER@@@Z
; public: int __thiscall MB::GetDataSetNumber(unsigned short const *,unsigned long *)
?GetDataSetNumber@MB@@QAEHPBGPAK@Z
; 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: int __thiscall MB::GetDword(unsigned short const *,unsigned long,unsigned long,unsigned long *,unsigned long)
?GetDword@MB@@QAEHPBGKKPAKK@Z
; public: void __thiscall MB::GetDword(unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long *,unsigned long)
?GetDword@MB@@QAEXPBGKKKPAKK@Z
; 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
; public: unsigned long __thiscall CSecurityDispenser::GetIisWpgSID(void * *)
?GetIisWpgSID@CSecurityDispenser@@QAEKPAPAX@Z
; public: int __thiscall MB::GetMultisz(unsigned short const *,unsigned long,unsigned long,class MULTISZ *,unsigned long)
?GetMultisz@MB@@QAEHPBGKKPAVMULTISZ@@K@Z
; private: int __thiscall BUFFER::GetNewStorage(unsigned int)
?GetNewStorage@BUFFER@@AAEHI@Z
; public: unsigned long __thiscall CSecurityDispenser::GetSID(enum WELL_KNOWN_SID_TYPE,void * *)
?GetSID@CSecurityDispenser@@QAEKW4WELL_KNOWN_SID_TYPE@@PAPAX@Z
GetSecurityAttributesForHandle
; 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: int __thiscall MB::GetStr(unsigned short const *,unsigned long,unsigned long,class STRU *,unsigned long,unsigned short const *)
?GetStr@MB@@QAEHPBGKKPAVSTRU@@K0@Z
; public: int __thiscall MB::GetString(unsigned short const *,unsigned long,unsigned long,unsigned short *,unsigned long *,unsigned long)
?GetString@MB@@QAEHPBGKKPAGPAKK@Z
; public: int __thiscall MB::GetSystemChangeNumber(unsigned long *)
?GetSystemChangeNumber@MB@@QAEHPAK@Z
; 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
GrantWpgAccessToToken
; public: long __thiscall STRA::HTMLEncode(void)
?HTMLEncode@STRA@@QAEJXZ
; 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
; public: bool __thiscall CLKRHashTable_Iterator::Increment(void)
?Increment@CLKRHashTable_Iterator@@QAE_NXZ
; public: bool __thiscall CLKRLinearHashTable_Iterator::Increment(void)
?Increment@CLKRLinearHashTable_Iterator@@QAE_NXZ
; private: void __thiscall IPM_MESSAGE_PIPE::IncrementAcceptorInUse(void)
?IncrementAcceptorInUse@IPM_MESSAGE_PIPE@@AAEXXZ
; public: void __thiscall W3_TRACE_LOG::Indent(void)
?Indent@W3_TRACE_LOG@@QAEXXZ
; public: static int __stdcall ALLOC_CACHE_HANDLER::Initialize(void)
?Initialize@ALLOC_CACHE_HANDLER@@SGHXZ
; private: void __thiscall CHUNK_BUFFER::Initialize(void)
?Initialize@CHUNK_BUFFER@@AAEXXZ
; 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: 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: void __thiscall IPM_MESSAGE_PIPE::IpmMessageCreated(class IPM_MESSAGE_IMP *)
?IpmMessageCreated@IPM_MESSAGE_PIPE@@QAEXPAVIPM_MESSAGE_IMP@@@Z
; public: void __thiscall IPM_MESSAGE_PIPE::IpmMessageDeleted(class IPM_MESSAGE_IMP *)
?IpmMessageDeleted@IPM_MESSAGE_PIPE@@QAEXPAVIPM_MESSAGE_IMP@@@Z
; 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 MULTISZA::IsEmpty(void)const 
?IsEmpty@MULTISZA@@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
; 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
IsSSLReportingBackwardCompatibilityMode
; 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 IPM_MESSAGE_PIPE::IsValid(void)
?IsValid@IPM_MESSAGE_PIPE@@QAEHXZ
; public: int __thiscall MULTISZ::IsValid(void)const 
?IsValid@MULTISZ@@QBEHXZ
; public: int __thiscall MULTISZA::IsValid(void)const 
?IsValid@MULTISZA@@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: 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
; 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,unsigned short const * * const,unsigned long)
?LogEvent@EVENT_LOG@@QAEXKGQAPBGK@Z
; private: void __thiscall EVENT_LOG::LogEventPrivate(unsigned long,unsigned short,unsigned short,unsigned short const * * const,unsigned long)
?LogEventPrivate@EVENT_LOG@@AAEXKGGQAPBGK@Z
LookupTokenAccountName
MakeAllProcessHeapsLFH
MakePathCanonicalizationProof
; public: unsigned long __thiscall CLKRHashTable::MaxSize(void)const 
?MaxSize@CLKRHashTable@@QBEKXZ
; public: unsigned long __thiscall CLKRLinearHashTable::MaxSize(void)const 
?MaxSize@CLKRLinearHashTable@@QBEKXZ
; public: static void __stdcall IPM_MESSAGE_PIPE::MessagePipeCompletion(void *,unsigned char)
?MessagePipeCompletion@IPM_MESSAGE_PIPE@@SGXPAXE@Z
; 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: unsigned short const * __thiscall MULTISZ::Next(unsigned short const *)const 
?Next@MULTISZ@@QBEPBGPBG@Z
; public: char const * __thiscall MULTISZA::Next(char const *)const 
?Next@MULTISZA@@QBEPBDPBD@Z
; public: class BUFFER_CHAIN_ITEM * __thiscall BUFFER_CHAIN::NextBuffer(class BUFFER_CHAIN_ITEM *)
?NextBuffer@BUFFER_CHAIN@@QAEPAVBUFFER_CHAIN_ITEM@@PAV2@@Z
; long __stdcall NormalizeUrl(char *)
?NormalizeUrl@@YGJPAD@Z
; long __stdcall NormalizeUrlW(unsigned short *)
?NormalizeUrlW@@YGJPAG@Z
; private: void __thiscall IPM_MESSAGE_PIPE::NotifyPipeDisconnected(long)
?NotifyPipeDisconnected@IPM_MESSAGE_PIPE@@AAEXJ@Z
; int __stdcall NtLargeIntegerTimeToLocalSystemTime(union _LARGE_INTEGER const *,struct _SYSTEMTIME *)
?NtLargeIntegerTimeToLocalSystemTime@@YGHPBT_LARGE_INTEGER@@PAU_SYSTEMTIME@@@Z
; int __stdcall NtLargeIntegerTimeToSystemTime(union _LARGE_INTEGER const &,struct _SYSTEMTIME *)
?NtLargeIntegerTimeToSystemTime@@YGHABT_LARGE_INTEGER@@PAU_SYSTEMTIME@@@Z
; int __stdcall NtSystemTimeToLargeInteger(struct _SYSTEMTIME const *,union _LARGE_INTEGER *)
?NtSystemTimeToLargeInteger@@YGHPBU_SYSTEMTIME@@PAT_LARGE_INTEGER@@@Z
; 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: int __thiscall MB::Open(unsigned long,unsigned short const *,unsigned long)
?Open@MB@@QAEHKPBGK@Z
; public: int __thiscall MB::Open(unsigned short const *,unsigned long)
?Open@MB@@QAEHPBGK@Z
; 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
; 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: struct IMSAdminBaseW * __thiscall MB::QueryAdminBase(void)const 
?QueryAdminBase@MB@@QBEPAUIMSAdminBaseW@@XZ
; public: class BUFFER * __thiscall STRU::QueryBuffer(void)
?QueryBuffer@STRU@@QAEPAVBUFFER@@XZ
; public: unsigned int __thiscall MULTISZ::QueryCB(void)const 
?QueryCB@MULTISZ@@QBEIXZ
; public: unsigned int __thiscall MULTISZA::QueryCB(void)const 
?QueryCB@MULTISZA@@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 STRAU::QueryCBA(void)
?QueryCBA@STRAU@@QAEIXZ
; public: unsigned int __thiscall STRAU::QueryCBW(void)
?QueryCBW@STRAU@@QAEIXZ
; public: unsigned int __thiscall MULTISZ::QueryCCH(void)const 
?QueryCCH@MULTISZ@@QBEIXZ
; public: unsigned int __thiscall MULTISZA::QueryCCH(void)const 
?QueryCCH@MULTISZA@@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: unsigned long __thiscall MB::QueryHandle(void)const 
?QueryHandle@MB@@QBEKXZ
; public: unsigned long __thiscall CHUNK_BUFFER::QueryHeapAllocCount(void)
?QueryHeapAllocCount@CHUNK_BUFFER@@QAEKXZ
; public: virtual long __stdcall MB_BASE_NOTIFICATION_SINK::QueryInterface(struct _GUID const &,void * *)
?QueryInterface@MB_BASE_NOTIFICATION_SINK@@UAGJABU_GUID@@PAPAX@Z
; 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: unsigned short * __thiscall MULTISZ::QueryStr(void)const 
?QueryStr@MULTISZ@@QBEPAGXZ
; public: char * __thiscall MULTISZA::QueryStr(void)const 
?QueryStr@MULTISZA@@QBEPADXZ
; public: char * __thiscall STRA::QueryStr(void)
?QueryStr@STRA@@QAEPADXZ
; public: char const * __thiscall STRA::QueryStr(void)const 
?QueryStr@STRA@@QBEPBDXZ
; 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: unsigned short * __thiscall MULTISZ::QueryStrA(void)const 
?QueryStrA@MULTISZ@@QBEPAGXZ
; public: char * __thiscall STRAU::QueryStrA(void)
?QueryStrA@STRAU@@QAEPADXZ
; public: unsigned short * __thiscall STRAU::QueryStrW(void)
?QueryStrW@STRAU@@QAEPAGXZ
; public: unsigned long __thiscall MULTISZ::QueryStringCount(void)const 
?QueryStringCount@MULTISZ@@QBEKXZ
; public: unsigned long __thiscall MULTISZA::QueryStringCount(void)const 
?QueryStringCount@MULTISZA@@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
ReadDwordParameterValueFromAnyService
; 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
; private: long __thiscall IPM_MESSAGE_PIPE::ReadMessage(unsigned long)
?ReadMessage@IPM_MESSAGE_PIPE@@AAEJK@Z
; 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
ReadRegDword
ReadStringParameterValueFromAnyService
; 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 __thiscall MULTISZA::RecalcLen(void)
?RecalcLen@MULTISZA@@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: virtual unsigned long __stdcall MB_BASE_NOTIFICATION_SINK::Release(void)
?Release@MB_BASE_NOTIFICATION_SINK@@UAGKXZ
; 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 MULTISZ::Reset(void)
?Reset@MULTISZ@@QAEXXZ
; public: void __thiscall MULTISZA::Reset(void)
?Reset@MULTISZA@@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
SAFEIsSpace
SAFEIsXDigit
; public: int __thiscall STRAU::SafeCopy(char const *)
?SafeCopy@STRAU@@QAEHPBD@Z
; public: int __thiscall STRAU::SafeCopy(unsigned short const *)
?SafeCopy@STRAU@@QAEHPBG@Z
; public: int __thiscall MB::Save(void)
?Save@MB@@QAEHXZ
ScheduleAdjustTime
ScheduleWorkItem
SchedulerInitialize
SchedulerTerminate
; public: unsigned short __thiscall CDFTCache::Seconds(void)const 
?Seconds@CDFTCache@@QBEGXZ
; public: void __thiscall W3_TRACE_LOG::SetBlocking(int)
?SetBlocking@W3_TRACE_LOG@@QAEXH@Z
; public: void __thiscall CLKRHashTable::SetBucketLockSpinCount(unsigned short)
?SetBucketLockSpinCount@CLKRHashTable@@QAEXG@Z
; public: void __thiscall CLKRLinearHashTable::SetBucketLockSpinCount(unsigned short)
?SetBucketLockSpinCount@CLKRLinearHashTable@@QAEXG@Z
; public: void __thiscall W3_TRACE_LOG::SetBuffering(int)
?SetBuffering@W3_TRACE_LOG@@QAEXH@Z
; public: int __thiscall MB::SetData(unsigned short const *,unsigned long,unsigned long,unsigned long,void *,unsigned long,unsigned long)
?SetData@MB@@QAEHPBGKKKPAXKK@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 MB::SetDword(unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long)
?SetDword@MB@@QAEHPBGKKKK@Z
SetExplicitAccessSettings
; 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: int __thiscall MB::SetString(unsigned short const *,unsigned long,unsigned long,unsigned short const *,unsigned long)
?SetString@MB@@QAEHPBGKK0K@Z
SetStringParameterValueInAnyService
; 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: virtual long __stdcall MB_BASE_NOTIFICATION_SINK::ShutdownNotify(void)
?ShutdownNotify@MB_BASE_NOTIFICATION_SINK@@UAGJXZ
; public: virtual long __stdcall MB_BASE_NOTIFICATION_SINK::SinkNotify(unsigned long,struct _MD_CHANGE_OBJECT_W * const)
?SinkNotify@MB_BASE_NOTIFICATION_SINK@@UAGJKQAU_MD_CHANGE_OBJECT_W@@@Z
; public: unsigned long __thiscall CLKRHashTable::Size(void)const 
?Size@CLKRHashTable@@QBEKXZ
; public: unsigned long __thiscall CLKRLinearHashTable::Size(void)const 
?Size@CLKRLinearHashTable@@QBEKXZ
SkipTo
SkipWhite
; private: unsigned char __thiscall CSharelock::SleepWaitingForLock(int)
?SleepWaitingForLock@CSharelock@@AAEEH@Z
StartIISAdminMonitor
; public: long __thiscall MB_BASE_NOTIFICATION_SINK::StartListening(struct IUnknown *)
?StartListening@MB_BASE_NOTIFICATION_SINK@@QAEJPAUIUnknown@@@Z
StopIISAdminMonitor
; public: long __thiscall MB_BASE_NOTIFICATION_SINK::StopListening(struct IUnknown *)
?StopListening@MB_BASE_NOTIFICATION_SINK@@QAEJPAUIUnknown@@@Z
; int __stdcall StringTimeToFileTime(char const *,union _LARGE_INTEGER *)
?StringTimeToFileTime@@YGHPBDPAT_LARGE_INTEGER@@@Z
; 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
; public: virtual long __stdcall MB_BASE_NOTIFICATION_SINK::SynchronizedShutdownNotify(void)
?SynchronizedShutdownNotify@MB_BASE_NOTIFICATION_SINK@@UAGJXZ
SystemTimeToGMT
; int __stdcall SystemTimeToGMTEx(struct _SYSTEMTIME const &,char *,unsigned long,unsigned long)
?SystemTimeToGMTEx@@YGHABU_SYSTEMTIME@@PADKK@Z
; private: static void __stdcall W3_TRACE_LOG_FACTORY::TimerCallback(void *,unsigned char)
?TimerCallback@W3_TRACE_LOG_FACTORY@@CGXPAXE@Z
; public: long __cdecl W3_TRACE_LOG::Trace(unsigned short const *,...)
?Trace@W3_TRACE_LOG@@QAAJPBGZZ
; 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: void __thiscall W3_TRACE_LOG::Undent(void)
?Undent@W3_TRACE_LOG@@QAEXXZ
; public: long __thiscall STRA::Unescape(void)
?Unescape@STRA@@QAEJXZ
; public: long __thiscall STRU::Unescape(void)
?Unescape@STRU@@QAEJXZ
; 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
; 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
WCopyToA
; 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: long __thiscall IPM_MESSAGE_PIPE::WriteMessage(enum IPM_OPCODE,unsigned long,void *)
?WriteMessage@IPM_MESSAGE_PIPE@@QAEJW4IPM_OPCODE@@KPAX@Z
; 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
; 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: 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::_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
uudecode
uuencode
CreateRefTraceLog
CreateTraceLog
DestroyRefTraceLog
DestroyTraceLog
_GetAllocCounters@0
GetCurrentTimeInSeconds
_IISGetCurrentTime@8
IISGetPlatformType
IISInitializeCriticalSection
IISSetCriticalSectionSpinCount
InetAcquireResourceExclusive
InetAcquireResourceShared
InetConvertExclusiveToShared
InetConvertSharedToExclusive
InetDeleteResource
InetInitializeResource
InetReleaseResource
InitializeIISUtil
IrtlTrace
_IsValidAddress@12
_IsValidString@8
PuCloseDbgMemoryLog
PuCloseDbgPrintFile
PuCreateDebugPrintsObject
PuDbgAssertFailed
PuDbgCaptureContext
PuDbgCreateEvent
PuDbgCreateMutex
PuDbgCreateSemaphore
PuDbgDump
PuDbgPrint
PuDbgPrintCurrentTime
PuDbgPrintError
PuDeleteDebugPrintsObject
PuGetDbgOutputFlags
PuLoadDebugFlagsFromReg
PuLoadDebugFlagsFromRegStr
PuOpenDbgMemoryLog
PuOpenDbgPrintFile
PuReOpenDbgPrintFile
PuSaveDebugFlagsInReg
PuSetDbgOutputFlags
ResetTraceLog
TerminateIISUtil
WriteRefTraceLog
WriteRefTraceLogEx
WriteTraceLog
