; 
; Exports of file ulib.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY ulib.dll
EXPORTS
; public: __cdecl ARGUMENT_LEXEMIZER::ARGUMENT_LEXEMIZER(void) __ptr64
??0ARGUMENT_LEXEMIZER@@QEAA@XZ
; public: __cdecl ARRAY::ARRAY(void) __ptr64
??0ARRAY@@QEAA@XZ
; public: __cdecl BDSTRING::BDSTRING(class BDSTRING const & __ptr64) __ptr64
??0BDSTRING@@QEAA@AEBV0@@Z
; public: __cdecl BDSTRING::BDSTRING(void) __ptr64
??0BDSTRING@@QEAA@XZ
; public: __cdecl BITVECTOR::BITVECTOR(void) __ptr64
??0BITVECTOR@@QEAA@XZ
; protected: __cdecl BSTRING::BSTRING(void) __ptr64
??0BSTRING@@IEAA@XZ
; public: __cdecl BSTRING::BSTRING(class BSTRING const & __ptr64) __ptr64
??0BSTRING@@QEAA@AEBV0@@Z
; public: __cdecl BYTE_STREAM::BYTE_STREAM(void) __ptr64
??0BYTE_STREAM@@QEAA@XZ
; public: __cdecl CHKDSK_MESSAGE::CHKDSK_MESSAGE(void) __ptr64
??0CHKDSK_MESSAGE@@QEAA@XZ
; public: __cdecl CLASS_DESCRIPTOR::CLASS_DESCRIPTOR(void) __ptr64
??0CLASS_DESCRIPTOR@@QEAA@XZ
; public: __cdecl COMM_DEVICE::COMM_DEVICE(void) __ptr64
??0COMM_DEVICE@@QEAA@XZ
; public: __cdecl CONT_MEM::CONT_MEM(void) __ptr64
??0CONT_MEM@@QEAA@XZ
; public: __cdecl DSTRING::DSTRING(class DSTRING const & __ptr64) __ptr64
??0DSTRING@@QEAA@AEBV0@@Z
; public: __cdecl DSTRING::DSTRING(void) __ptr64
??0DSTRING@@QEAA@XZ
; public: __cdecl FLAG_ARGUMENT::FLAG_ARGUMENT(void) __ptr64
??0FLAG_ARGUMENT@@QEAA@XZ
; public: __cdecl FSN_FILTER::FSN_FILTER(void) __ptr64
??0FSN_FILTER@@QEAA@XZ
; public: __cdecl FSTRING::FSTRING(class FSTRING const & __ptr64) __ptr64
??0FSTRING@@QEAA@AEBV0@@Z
; public: __cdecl FSTRING::FSTRING(void) __ptr64
??0FSTRING@@QEAA@XZ
; public: __cdecl HMEM::HMEM(void) __ptr64
??0HMEM@@QEAA@XZ
; public: __cdecl KEYBOARD::KEYBOARD(void) __ptr64
??0KEYBOARD@@QEAA@XZ
; public: __cdecl LIST::LIST(void) __ptr64
??0LIST@@QEAA@XZ
; public: __cdecl LONG_ARGUMENT::LONG_ARGUMENT(void) __ptr64
??0LONG_ARGUMENT@@QEAA@XZ
; public: __cdecl MEM_ALLOCATOR::MEM_ALLOCATOR(void) __ptr64
??0MEM_ALLOCATOR@@QEAA@XZ
; public: __cdecl MEM_BLOCK_MGR::MEM_BLOCK_MGR(void) __ptr64
??0MEM_BLOCK_MGR@@QEAA@XZ
; public: __cdecl MESSAGE::MESSAGE(void) __ptr64
??0MESSAGE@@QEAA@XZ
; public: __cdecl MULTIPLE_PATH_ARGUMENT::MULTIPLE_PATH_ARGUMENT(void) __ptr64
??0MULTIPLE_PATH_ARGUMENT@@QEAA@XZ
; protected: __cdecl OBJECT::OBJECT(void) __ptr64
??0OBJECT@@IEAA@XZ
; public: __cdecl OBJECT::OBJECT(class OBJECT const & __ptr64) __ptr64
??0OBJECT@@QEAA@AEBV0@@Z
; public: __cdecl PATH::PATH(void) __ptr64
??0PATH@@QEAA@XZ
; public: __cdecl PATH_ARGUMENT::PATH_ARGUMENT(void) __ptr64
??0PATH_ARGUMENT@@QEAA@XZ
; public: __cdecl PRINT_STREAM::PRINT_STREAM(void) __ptr64
??0PRINT_STREAM@@QEAA@XZ
; protected: __cdecl PROGRAM::PROGRAM(void) __ptr64
??0PROGRAM@@IEAA@XZ
; public: __cdecl REST_OF_LINE_ARGUMENT::REST_OF_LINE_ARGUMENT(void) __ptr64
??0REST_OF_LINE_ARGUMENT@@QEAA@XZ
; public: __cdecl SCREEN::SCREEN(void) __ptr64
??0SCREEN@@QEAA@XZ
; public: __cdecl SORTED_LIST::SORTED_LIST(void) __ptr64
??0SORTED_LIST@@QEAA@XZ
; public: __cdecl STREAM_MESSAGE::STREAM_MESSAGE(void) __ptr64
??0STREAM_MESSAGE@@QEAA@XZ
; public: __cdecl STRING_ARGUMENT::STRING_ARGUMENT(void) __ptr64
??0STRING_ARGUMENT@@QEAA@XZ
; public: __cdecl STRING_ARRAY::STRING_ARRAY(void) __ptr64
??0STRING_ARRAY@@QEAA@XZ
; public: __cdecl TIMEINFO::TIMEINFO(void) __ptr64
??0TIMEINFO@@QEAA@XZ
; public: __cdecl TIMEINFO_ARGUMENT::TIMEINFO_ARGUMENT(void) __ptr64
??0TIMEINFO_ARGUMENT@@QEAA@XZ
; protected: __cdecl WSTRING::WSTRING(void) __ptr64
??0WSTRING@@IEAA@XZ
; public: __cdecl WSTRING::WSTRING(class WSTRING const & __ptr64) __ptr64
??0WSTRING@@QEAA@AEBV0@@Z
; public: virtual __cdecl ARGUMENT_LEXEMIZER::~ARGUMENT_LEXEMIZER(void) __ptr64
??1ARGUMENT_LEXEMIZER@@UEAA@XZ
; public: virtual __cdecl ARRAY::~ARRAY(void) __ptr64
??1ARRAY@@UEAA@XZ
; public: virtual __cdecl BDSTRING::~BDSTRING(void) __ptr64
??1BDSTRING@@UEAA@XZ
; public: virtual __cdecl BITVECTOR::~BITVECTOR(void) __ptr64
??1BITVECTOR@@UEAA@XZ
; public: virtual __cdecl BSTRING::~BSTRING(void) __ptr64
??1BSTRING@@UEAA@XZ
; public: virtual __cdecl BYTE_STREAM::~BYTE_STREAM(void) __ptr64
??1BYTE_STREAM@@UEAA@XZ
; public: virtual __cdecl CHKDSK_MESSAGE::~CHKDSK_MESSAGE(void) __ptr64
??1CHKDSK_MESSAGE@@UEAA@XZ
; public: virtual __cdecl COMM_DEVICE::~COMM_DEVICE(void) __ptr64
??1COMM_DEVICE@@UEAA@XZ
; public: virtual __cdecl DSTRING::~DSTRING(void) __ptr64
??1DSTRING@@UEAA@XZ
; public: virtual __cdecl FSN_FILTER::~FSN_FILTER(void) __ptr64
??1FSN_FILTER@@UEAA@XZ
; public: virtual __cdecl FSTRING::~FSTRING(void) __ptr64
??1FSTRING@@UEAA@XZ
; public: virtual __cdecl HMEM::~HMEM(void) __ptr64
??1HMEM@@UEAA@XZ
; public: virtual __cdecl LIST::~LIST(void) __ptr64
??1LIST@@UEAA@XZ
; public: virtual __cdecl MEM_ALLOCATOR::~MEM_ALLOCATOR(void) __ptr64
??1MEM_ALLOCATOR@@UEAA@XZ
; public: virtual __cdecl MEM_BLOCK_MGR::~MEM_BLOCK_MGR(void) __ptr64
??1MEM_BLOCK_MGR@@UEAA@XZ
; public: virtual __cdecl MESSAGE::~MESSAGE(void) __ptr64
??1MESSAGE@@UEAA@XZ
; public: virtual __cdecl MULTIPLE_PATH_ARGUMENT::~MULTIPLE_PATH_ARGUMENT(void) __ptr64
??1MULTIPLE_PATH_ARGUMENT@@UEAA@XZ
; public: virtual __cdecl OBJECT::~OBJECT(void) __ptr64
??1OBJECT@@UEAA@XZ
; public: virtual __cdecl PATH::~PATH(void) __ptr64
??1PATH@@UEAA@XZ
; public: virtual __cdecl PATH_ARGUMENT::~PATH_ARGUMENT(void) __ptr64
??1PATH_ARGUMENT@@UEAA@XZ
; public: virtual __cdecl PRINT_STREAM::~PRINT_STREAM(void) __ptr64
??1PRINT_STREAM@@UEAA@XZ
; public: virtual __cdecl PROGRAM::~PROGRAM(void) __ptr64
??1PROGRAM@@UEAA@XZ
; public: virtual __cdecl SCREEN::~SCREEN(void) __ptr64
??1SCREEN@@UEAA@XZ
; public: virtual __cdecl SORTED_LIST::~SORTED_LIST(void) __ptr64
??1SORTED_LIST@@UEAA@XZ
; public: virtual __cdecl STREAM_MESSAGE::~STREAM_MESSAGE(void) __ptr64
??1STREAM_MESSAGE@@UEAA@XZ
; public: virtual __cdecl STRING_ARGUMENT::~STRING_ARGUMENT(void) __ptr64
??1STRING_ARGUMENT@@UEAA@XZ
; public: virtual __cdecl TIMEINFO_ARGUMENT::~TIMEINFO_ARGUMENT(void) __ptr64
??1TIMEINFO_ARGUMENT@@UEAA@XZ
; public: virtual __cdecl WSTRING::~WSTRING(void) __ptr64
??1WSTRING@@UEAA@XZ
; public: class BDSTRING & __ptr64 __cdecl BDSTRING::operator=(class BDSTRING const & __ptr64) __ptr64
??4BDSTRING@@QEAAAEAV0@AEBV0@@Z
; public: class BSTRING & __ptr64 __cdecl BSTRING::operator=(class BSTRING const & __ptr64) __ptr64
??4BSTRING@@QEAAAEAV0@AEBV0@@Z
; public: class DSTRING & __ptr64 __cdecl DSTRING::operator=(class DSTRING const & __ptr64) __ptr64
??4DSTRING@@QEAAAEAV0@AEBV0@@Z
; public: class FSTRING & __ptr64 __cdecl FSTRING::operator=(class FSTRING const & __ptr64) __ptr64
??4FSTRING@@QEAAAEAV0@AEBV0@@Z
; public: class OBJECT & __ptr64 __cdecl OBJECT::operator=(class OBJECT const & __ptr64) __ptr64
??4OBJECT@@QEAAAEAV0@AEBV0@@Z
; public: class WSTRING & __ptr64 __cdecl WSTRING::operator=(class WSTRING const & __ptr64) __ptr64
??4WSTRING@@QEAAAEAV0@AEBV0@@Z
; public: unsigned char __cdecl WSTRING::operator==(class WSTRING const & __ptr64)const  __ptr64
??8WSTRING@@QEBAEAEBV0@@Z
; public: unsigned char __cdecl WSTRING::operator!=(class WSTRING const & __ptr64)const  __ptr64
??9WSTRING@@QEBAEAEBV0@@Z
; public: unsigned char __cdecl TIMEINFO::operator<(class TIMEINFO)const  __ptr64
??MTIMEINFO@@QEBAEV0@@Z
; public: unsigned char __cdecl WSTRING::operator<(class WSTRING const & __ptr64)const  __ptr64
??MWSTRING@@QEBAEAEBV0@@Z
; public: unsigned char __cdecl WSTRING::operator<=(class WSTRING const & __ptr64)const  __ptr64
??NWSTRING@@QEBAEAEBV0@@Z
; public: unsigned char __cdecl TIMEINFO::operator>(class TIMEINFO)const  __ptr64
??OTIMEINFO@@QEBAEV0@@Z
; public: unsigned char __cdecl WSTRING::operator>(class WSTRING const & __ptr64)const  __ptr64
??OWSTRING@@QEBAEAEBV0@@Z
; public: unsigned char __cdecl WSTRING::operator>=(class WSTRING const & __ptr64)const  __ptr64
??PWSTRING@@QEBAEAEBV0@@Z
; const  BDSTRING::`vftable'
??_7BDSTRING@@6B@
; const  BSTRING::`vftable'
??_7BSTRING@@6B@
; const  DSTRING::`vftable'
??_7DSTRING@@6B@
; const  FSTRING::`vftable'
??_7FSTRING@@6B@
; const  OBJECT::`vftable'
??_7OBJECT@@6B@
; const  WSTRING::`vftable'
??_7WSTRING@@6B@
; public: virtual void * __ptr64 __cdecl CONT_MEM::Acquire(unsigned long,unsigned long) __ptr64
?Acquire@CONT_MEM@@UEAAPEAXKK@Z
; public: virtual void * __ptr64 __cdecl HMEM::Acquire(unsigned long,unsigned long) __ptr64
?Acquire@HMEM@@UEAAPEAXKK@Z
; public: void * __ptr64 __cdecl MEM_BLOCK_MGR::Alloc(void) __ptr64
?Alloc@MEM_BLOCK_MGR@@QEAAPEAXXZ
; public: void * __ptr64 __cdecl MEM_ALLOCATOR::Allocate(unsigned long) __ptr64
?Allocate@MEM_ALLOCATOR@@QEAAPEAXK@Z
; public: enum PATH_ANALYZE_CODE  __cdecl PATH::AnalyzePath(class WSTRING * __ptr64,class PATH * __ptr64,class WSTRING * __ptr64) __ptr64
?AnalyzePath@PATH@@QEAA?AW4PATH_ANALYZE_CODE@@PEAVWSTRING@@PEAV1@0@Z
; public: unsigned char __cdecl PATH::AppendBase(class WSTRING const * __ptr64,unsigned char) __ptr64
?AppendBase@PATH@@QEAAEPEBVWSTRING@@E@Z
; public: unsigned char __cdecl PATH::AppendDelimiter(void) __ptr64
?AppendDelimiter@PATH@@QEAAEXZ
; public: unsigned char __cdecl PATH::AppendString(class WSTRING const * __ptr64) __ptr64
?AppendString@PATH@@QEAAEPEBVWSTRING@@@Z
; public: static class FILE_STREAM * __ptr64 __cdecl FILE_STREAM::Cast(class OBJECT const * __ptr64)
?Cast@FILE_STREAM@@SAPEAV1@PEBVOBJECT@@@Z
; public: static class KEYBOARD * __ptr64 __cdecl KEYBOARD::Cast(class OBJECT const * __ptr64)
?Cast@KEYBOARD@@SAPEAV1@PEBVOBJECT@@@Z
; public: static class SCREEN * __ptr64 __cdecl SCREEN::Cast(class OBJECT const * __ptr64)
?Cast@SCREEN@@SAPEAV1@PEBVOBJECT@@@Z
; public: unsigned char __cdecl SCREEN::ChangeScreenSize(unsigned short,unsigned short,unsigned char * __ptr64) __ptr64
?ChangeScreenSize@SCREEN@@QEAAEGGPEAE@Z
; public: static char * __ptr64 __cdecl MBSTR::CharNextW(char * __ptr64)
?CharNextW@MBSTR@@SAPEADPEAD@Z
; private: static int __cdecl WSTRING::CheckSpace(unsigned short * __ptr64)
?CheckSpace@WSTRING@@CAHPEAG@Z
; public: unsigned char __cdecl COMM_DEVICE::CommitState(void) __ptr64
?CommitState@COMM_DEVICE@@QEAAEXZ
; public: virtual long __cdecl OBJECT::Compare(class OBJECT const * __ptr64)const  __ptr64
?Compare@OBJECT@@UEBAJPEBV1@@Z
; private: unsigned long __cdecl BITVECTOR::ComputeCountSet(void)const  __ptr64
?ComputeCountSet@BITVECTOR@@AEBAKXZ
; private: void __cdecl BDSTRING::Construct(void) __ptr64
?Construct@BDSTRING@@AEAAXXZ
; protected: void __cdecl BSTRING::Construct(void) __ptr64
?Construct@BSTRING@@IEAAXXZ
; private: void __cdecl DSTRING::Construct(void) __ptr64
?Construct@DSTRING@@AEAAXXZ
; protected: void __cdecl OBJECT::Construct(void) __ptr64
?Construct@OBJECT@@IEAAXXZ
; protected: void __cdecl WSTRING::Construct(void) __ptr64
?Construct@WSTRING@@IEAAXXZ
; private: static unsigned char __cdecl WSTRING::ConvertOemToUnicodeN(unsigned short * __ptr64,unsigned long,unsigned long * __ptr64,char * __ptr64,unsigned long)
?ConvertOemToUnicodeN@WSTRING@@CAEPEAGKPEAKPEADK@Z
; public: unsigned char __cdecl TIMEINFO::ConvertToLocal(void) __ptr64
?ConvertToLocal@TIMEINFO@@QEAAEXZ
; public: unsigned char __cdecl TIMEINFO::ConvertToUTC(void) __ptr64
?ConvertToUTC@TIMEINFO@@QEAAEXZ
; private: static unsigned char __cdecl WSTRING::ConvertUnicodeToOemN(char * __ptr64,unsigned long,unsigned long * __ptr64,unsigned short * __ptr64,unsigned long)
?ConvertUnicodeToOemN@WSTRING@@CAEPEADKPEAKPEAGK@Z
; public: unsigned char __cdecl FSN_FILE::Copy(class PATH * __ptr64,enum _COPY_ERROR * __ptr64,unsigned long,unsigned long (__cdecl*)(union _LARGE_INTEGER,union _LARGE_INTEGER,union _LARGE_INTEGER,union _LARGE_INTEGER,unsigned long,unsigned long,void * __ptr64,void * __ptr64,void * __ptr64),void * __ptr64,int * __ptr64)const  __ptr64
?Copy@FSN_FILE@@QEBAEPEAVPATH@@PEAW4_COPY_ERROR@@KP6AKT_LARGE_INTEGER@@222KKPEAX33@Z3PEAH@Z
; public: class FSN_DIRECTORY * __ptr64 __cdecl FSN_DIRECTORY::CreateDirectoryPath(class PATH const * __ptr64)const  __ptr64
?CreateDirectoryPath@FSN_DIRECTORY@@QEBAPEAV1@PEBVPATH@@@Z
; public: virtual unsigned char __cdecl ARRAY::DeleteAllMembers(void) __ptr64
?DeleteAllMembers@ARRAY@@UEAAEXZ
; public: virtual unsigned char __cdecl SEQUENTIAL_CONTAINER::DeleteAllMembers(void) __ptr64
?DeleteAllMembers@SEQUENTIAL_CONTAINER@@UEAAEXZ
; public: virtual unsigned char __cdecl SORTED_LIST::DeleteAllMembers(void) __ptr64
?DeleteAllMembers@SORTED_LIST@@UEAAEXZ
; public: void __cdecl BSTRING::DeleteChAt(unsigned long,unsigned long) __ptr64
?DeleteChAt@BSTRING@@QEAAXKK@Z
; public: void __cdecl WSTRING::DeleteChAt(unsigned long,unsigned long) __ptr64
?DeleteChAt@WSTRING@@QEAAXKK@Z
; public: unsigned char __cdecl FSN_DIRECTORY::DeleteDirectory(void) __ptr64
?DeleteDirectory@FSN_DIRECTORY@@QEAAEXZ
; public: static unsigned char __cdecl KEYBOARD::DisableBreakHandling(void)
?DisableBreakHandling@KEYBOARD@@SAEXZ
; public: unsigned char __cdecl KEYBOARD::DisableLineMode(void) __ptr64
?DisableLineMode@KEYBOARD@@QEAAEXZ
; public: unsigned char __cdecl MESSAGE::Display(char const * __ptr64,...) __ptr64
?Display@MESSAGE@@QEAAEPEBDZZ
; public: virtual unsigned char __cdecl PROGRAM::DisplayMessage(unsigned long,enum MESSAGE_TYPE)const  __ptr64
?DisplayMessage@PROGRAM@@UEBAEKW4MESSAGE_TYPE@@@Z
; public: virtual unsigned char __cdecl PROGRAM::DisplayMessage(unsigned long,enum MESSAGE_TYPE,char * __ptr64,...)const  __ptr64
?DisplayMessage@PROGRAM@@UEBAEKW4MESSAGE_TYPE@@PEADZZ
; public: unsigned char __cdecl MESSAGE::DisplayMsg(unsigned long) __ptr64
?DisplayMsg@MESSAGE@@QEAAEK@Z
; public: unsigned char __cdecl MESSAGE::DisplayMsg(unsigned long,char const * __ptr64,...) __ptr64
?DisplayMsg@MESSAGE@@QEAAEKPEBDZZ
; public: unsigned char __cdecl MESSAGE::DisplayMsg(unsigned long,enum MESSAGE_TYPE,unsigned long) __ptr64
?DisplayMsg@MESSAGE@@QEAAEKW4MESSAGE_TYPE@@K@Z
; public: unsigned char __cdecl MESSAGE::DisplayMsg(unsigned long,enum MESSAGE_TYPE,unsigned long,char const * __ptr64,...) __ptr64
?DisplayMsg@MESSAGE@@QEAAEKW4MESSAGE_TYPE@@KPEBDZZ
; public: static void __cdecl SYSTEM::DisplaySystemError(unsigned long,int)
?DisplaySystemError@SYSTEM@@SAXKH@Z
; public: virtual void __cdecl KEYBOARD::DoNotRestoreConsoleMode(void) __ptr64
?DoNotRestoreConsoleMode@KEYBOARD@@UEAAXXZ
; public: unsigned char __cdecl ARGUMENT_LEXEMIZER::DoParsing(class ARRAY * __ptr64) __ptr64
?DoParsing@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
; public: unsigned char __cdecl FSN_FILTER::DoesNodeMatch(class FSNODE * __ptr64) __ptr64
?DoesNodeMatch@FSN_FILTER@@QEAAEPEAVFSNODE@@@Z
; public: unsigned char __cdecl MESSAGE::DumpDataToLog(void * __ptr64,unsigned long) __ptr64
?DumpDataToLog@MESSAGE@@QEAAEPEAXK@Z
; public: static unsigned char __cdecl KEYBOARD::EnableBreakHandling(void)
?EnableBreakHandling@KEYBOARD@@SAEXZ
; public: unsigned char __cdecl KEYBOARD::EnableLineMode(void) __ptr64
?EnableLineMode@KEYBOARD@@QEAAEXZ
; public: unsigned char __cdecl PATH::EndsWithDelimiter(void)const  __ptr64
?EndsWithDelimiter@PATH@@QEBAEXZ
; public: unsigned char __cdecl SCREEN::EraseScreen(void) __ptr64
?EraseScreen@SCREEN@@QEAAEXZ
; public: unsigned char __cdecl SCREEN::EraseScreenAndResetAttribute(void) __ptr64
?EraseScreenAndResetAttribute@SCREEN@@QEAAEXZ
; public: static void __cdecl PROGRAM::ExitProgram(unsigned long)
?ExitProgram@PROGRAM@@SAXK@Z
; public: virtual void __cdecl PROGRAM::Fatal(unsigned long,unsigned long,char * __ptr64,...)const  __ptr64
?Fatal@PROGRAM@@UEBAXKKPEADZZ
; public: virtual void __cdecl PROGRAM::Fatal(void)const  __ptr64
?Fatal@PROGRAM@@UEBAXXZ
; private: unsigned char __cdecl BYTE_STREAM::FillAndReadByte(unsigned char * __ptr64) __ptr64
?FillAndReadByte@BYTE_STREAM@@AEAAEPEAE@Z
; void * __ptr64 __cdecl FindFirstFileW(class PATH const * __ptr64,struct _WIN32_FIND_DATAW * __ptr64)
?FindFirstFileW@@YAPEAXPEBVPATH@@PEAU_WIN32_FIND_DATAW@@@Z
; public: unsigned char __cdecl KEYBOARD::Flush(void) __ptr64
?Flush@KEYBOARD@@QEAAEXZ
; public: unsigned char __cdecl MEM_BLOCK_MGR::Free(void * __ptr64) __ptr64
?Free@MEM_BLOCK_MGR@@QEAAEPEAX@Z
; public: static void __cdecl SYSTEM::FreeLibraryHandle(void * __ptr64)
?FreeLibraryHandle@SYSTEM@@SAXPEAX@Z
; public: class CLASS_DESCRIPTOR const * __ptr64 __cdecl OBJECT::GetClassDescriptor(void)const  __ptr64
?GetClassDescriptor@OBJECT@@QEBAPEBVCLASS_DESCRIPTOR@@XZ
; public: static unsigned char __cdecl SYSTEM::GetFileSecurityBackup(class PATH const * __ptr64,unsigned long,struct _SECURITY_ATTRIBUTES * __ptr64,unsigned long * __ptr64)
?GetFileSecurityBackup@SYSTEM@@SAEPEBVPATH@@KPEAU_SECURITY_ATTRIBUTES@@PEAK@Z
; public: class WSTRING * __ptr64 __cdecl ARGUMENT::GetLexeme(void) __ptr64
?GetLexeme@ARGUMENT@@QEAAPEAVWSTRING@@XZ
; public: class WSTRING * __ptr64 __cdecl ARGUMENT_LEXEMIZER::GetLexemeAt(unsigned long) __ptr64
?GetLexemeAt@ARGUMENT_LEXEMIZER@@QEAAPEAVWSTRING@@K@Z
; public: class FSNODE * __ptr64 __cdecl FSN_DIRECTORY::GetNext(void * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
?GetNext@FSN_DIRECTORY@@QEAAPEAVFSNODE@@PEAPEAXPEAK@Z
; public: int * __ptr64 __cdecl KEYBOARD::GetPFlagBreak(void)const  __ptr64
?GetPFlagBreak@KEYBOARD@@QEBAQEAHXZ
; public: class WSTRING * __ptr64 __cdecl ARGUMENT::GetPattern(void) __ptr64
?GetPattern@ARGUMENT@@QEAAPEAVWSTRING@@XZ
; public: virtual class STREAM * __ptr64 __cdecl PROGRAM::GetStandardError(void) __ptr64
?GetStandardError@PROGRAM@@UEAAPEAVSTREAM@@XZ
; public: virtual class STREAM * __ptr64 __cdecl PROGRAM::GetStandardInput(void) __ptr64
?GetStandardInput@PROGRAM@@UEAAPEAVSTREAM@@XZ
; public: virtual class STREAM * __ptr64 __cdecl PROGRAM::GetStandardOutput(void) __ptr64
?GetStandardOutput@PROGRAM@@UEAAPEAVSTREAM@@XZ
; public: unsigned short const * __ptr64 __cdecl WSTRING::GetWSTR(void)const  __ptr64
?GetWSTR@WSTRING@@QEBAPEBGXZ
; class STREAM * __ptr64 __cdecl Get_Standard_Error_Stream(void)
?Get_Standard_Error_Stream@@YAPEAVSTREAM@@XZ
; class STREAM * __ptr64 __cdecl Get_Standard_Input_Stream(void)
?Get_Standard_Input_Stream@@YAPEAVSTREAM@@XZ
; class STREAM * __ptr64 __cdecl Get_Standard_Output_Stream(void)
?Get_Standard_Output_Stream@@YAPEAVSTREAM@@XZ
; public: static unsigned char __cdecl KEYBOARD::GotABreak(void)
?GotABreak@KEYBOARD@@SAEXZ
; public: unsigned char __cdecl PATH::HasWildCard(void)const  __ptr64
?HasWildCard@PATH@@QEBAEXZ
; public: unsigned char __cdecl ARGUMENT_LEXEMIZER::Initialize(class ARRAY * __ptr64) __ptr64
?Initialize@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
; public: unsigned char __cdecl ARRAY::Initialize(unsigned long,unsigned long) __ptr64
?Initialize@ARRAY@@QEAAEKK@Z
; public: unsigned char __cdecl BITVECTOR::Initialize(unsigned long,enum BIT,unsigned long * __ptr64) __ptr64
?Initialize@BITVECTOR@@QEAAEKW4BIT@@PEAK@Z
; public: unsigned char __cdecl BSTRING::Initialize(char const * __ptr64,unsigned long) __ptr64
?Initialize@BSTRING@@QEAAEPEBDK@Z
; public: unsigned char __cdecl BSTRING::Initialize(void) __ptr64
?Initialize@BSTRING@@QEAAEXZ
; public: unsigned char __cdecl BYTE_STREAM::Initialize(class STREAM * __ptr64,unsigned long) __ptr64
?Initialize@BYTE_STREAM@@QEAAEPEAVSTREAM@@K@Z
; public: unsigned char __cdecl CHKDSK_MESSAGE::Initialize(class STREAM * __ptr64,class STREAM * __ptr64,class STREAM * __ptr64) __ptr64
?Initialize@CHKDSK_MESSAGE@@QEAAEPEAVSTREAM@@00@Z
; public: unsigned char __cdecl CLASS_DESCRIPTOR::Initialize(void) __ptr64
?Initialize@CLASS_DESCRIPTOR@@QEAAEXZ
; public: unsigned char __cdecl COMM_DEVICE::Initialize(class PATH const * __ptr64,unsigned char * __ptr64) __ptr64
?Initialize@COMM_DEVICE@@QEAAEPEBVPATH@@PEAE@Z
; public: unsigned char __cdecl CONT_MEM::Initialize(void * __ptr64,unsigned long) __ptr64
?Initialize@CONT_MEM@@QEAAEPEAXK@Z
; public: unsigned char __cdecl FLAG_ARGUMENT::Initialize(char * __ptr64) __ptr64
?Initialize@FLAG_ARGUMENT@@QEAAEPEAD@Z
; public: unsigned char __cdecl FLAG_ARGUMENT::Initialize(class WSTRING * __ptr64) __ptr64
?Initialize@FLAG_ARGUMENT@@QEAAEPEAVWSTRING@@@Z
; public: unsigned char __cdecl FSN_FILTER::Initialize(void) __ptr64
?Initialize@FSN_FILTER@@QEAAEXZ
; public: class WSTRING * __ptr64 __cdecl FSTRING::Initialize(unsigned short * __ptr64,unsigned long) __ptr64
?Initialize@FSTRING@@QEAAPEAVWSTRING@@PEAGK@Z
; public: unsigned char __cdecl HMEM::Initialize(void) __ptr64
?Initialize@HMEM@@QEAAEXZ
; public: unsigned char __cdecl KEYBOARD::Initialize(unsigned char,unsigned char) __ptr64
?Initialize@KEYBOARD@@QEAAEEE@Z
; public: unsigned char __cdecl LIST::Initialize(void) __ptr64
?Initialize@LIST@@QEAAEXZ
; public: unsigned char __cdecl LONG_ARGUMENT::Initialize(char * __ptr64) __ptr64
?Initialize@LONG_ARGUMENT@@QEAAEPEAD@Z
; public: unsigned char __cdecl MEM_ALLOCATOR::Initialize(unsigned __int64,unsigned long) __ptr64
?Initialize@MEM_ALLOCATOR@@QEAAE_KK@Z
; public: unsigned char __cdecl MEM_BLOCK_MGR::Initialize(unsigned long,unsigned long) __ptr64
?Initialize@MEM_BLOCK_MGR@@QEAAEKK@Z
; public: unsigned char __cdecl MESSAGE::Initialize(void) __ptr64
?Initialize@MESSAGE@@QEAAEXZ
; public: unsigned char __cdecl MULTIPLE_PATH_ARGUMENT::Initialize(char * __ptr64,unsigned char,unsigned char) __ptr64
?Initialize@MULTIPLE_PATH_ARGUMENT@@QEAAEPEADEE@Z
; public: unsigned char __cdecl PATH::Initialize(unsigned short const * __ptr64,unsigned char) __ptr64
?Initialize@PATH@@QEAAEPEBGE@Z
; public: unsigned char __cdecl PATH::Initialize(class PATH const * __ptr64,unsigned char) __ptr64
?Initialize@PATH@@QEAAEPEBV1@E@Z
; public: unsigned char __cdecl PATH::Initialize(class WSTRING const * __ptr64,unsigned char) __ptr64
?Initialize@PATH@@QEAAEPEBVWSTRING@@E@Z
; public: unsigned char __cdecl PATH_ARGUMENT::Initialize(char * __ptr64,unsigned char) __ptr64
?Initialize@PATH_ARGUMENT@@QEAAEPEADE@Z
; public: unsigned char __cdecl PRINT_STREAM::Initialize(class PATH const * __ptr64) __ptr64
?Initialize@PRINT_STREAM@@QEAAEPEBVPATH@@@Z
; public: unsigned char __cdecl PROGRAM::Initialize(unsigned long,unsigned long,unsigned long) __ptr64
?Initialize@PROGRAM@@QEAAEKKK@Z
; public: unsigned char __cdecl REST_OF_LINE_ARGUMENT::Initialize(void) __ptr64
?Initialize@REST_OF_LINE_ARGUMENT@@QEAAEXZ
; public: unsigned char __cdecl SCREEN::Initialize(void) __ptr64
?Initialize@SCREEN@@QEAAEXZ
; public: unsigned char __cdecl SORTED_LIST::Initialize(unsigned char) __ptr64
?Initialize@SORTED_LIST@@QEAAEE@Z
; public: unsigned char __cdecl STREAM_MESSAGE::Initialize(class STREAM * __ptr64,class STREAM * __ptr64,class STREAM * __ptr64) __ptr64
?Initialize@STREAM_MESSAGE@@QEAAEPEAVSTREAM@@00@Z
; public: unsigned char __cdecl STRING_ARGUMENT::Initialize(char * __ptr64) __ptr64
?Initialize@STRING_ARGUMENT@@QEAAEPEAD@Z
; public: unsigned char __cdecl STRING_ARRAY::Initialize(unsigned long,unsigned long,unsigned long) __ptr64
?Initialize@STRING_ARRAY@@QEAAEKKK@Z
; public: unsigned char __cdecl TIMEINFO::Initialize(struct _FILETIME * __ptr64) __ptr64
?Initialize@TIMEINFO@@QEAAEPEAU_FILETIME@@@Z
; public: void __cdecl TIMEINFO::Initialize(class TIMEINFO const * __ptr64) __ptr64
?Initialize@TIMEINFO@@QEAAXPEBV1@@Z
; public: unsigned char __cdecl TIMEINFO_ARGUMENT::Initialize(char * __ptr64) __ptr64
?Initialize@TIMEINFO_ARGUMENT@@QEAAEPEAD@Z
; public: unsigned char __cdecl WSTRING::Initialize(long) __ptr64
?Initialize@WSTRING@@QEAAEJ@Z
; public: unsigned char __cdecl WSTRING::Initialize(char const * __ptr64,unsigned long) __ptr64
?Initialize@WSTRING@@QEAAEPEBDK@Z
; public: unsigned char __cdecl WSTRING::Initialize(unsigned short const * __ptr64,unsigned long) __ptr64
?Initialize@WSTRING@@QEAAEPEBGK@Z
; public: unsigned char __cdecl WSTRING::Initialize(class WSTRING const * __ptr64,unsigned long,unsigned long) __ptr64
?Initialize@WSTRING@@QEAAEPEBV1@KK@Z
; public: unsigned char __cdecl WSTRING::Initialize(void) __ptr64
?Initialize@WSTRING@@QEAAEXZ
; public: unsigned char __cdecl LIST::Insert(class OBJECT * __ptr64,class ITERATOR * __ptr64) __ptr64
?Insert@LIST@@QEAAEPEAVOBJECT@@PEAVITERATOR@@@Z
; public: unsigned char __cdecl WSTRING::InsertString(unsigned long,class WSTRING const * __ptr64,unsigned long,unsigned long) __ptr64
?InsertString@WSTRING@@QEAAEKPEBV1@KK@Z
; public: static unsigned char __cdecl SYSTEM::IsCorrectVersion(void)
?IsCorrectVersion@SYSTEM@@SAEXZ
; public: unsigned char __cdecl PATH::IsDrive(void)const  __ptr64
?IsDrive@PATH@@QEBAEXZ
; public: unsigned char __cdecl FSN_DIRECTORY::IsEmpty(void)const  __ptr64
?IsEmpty@FSN_DIRECTORY@@QEBAEXZ
; public: unsigned char __cdecl PATH::IsGuidVolName(void) __ptr64
?IsGuidVolName@PATH@@QEAAEXZ
; public: virtual unsigned char __cdecl MESSAGE::IsInAutoChk(void) __ptr64
?IsInAutoChk@MESSAGE@@UEAAEXZ
; public: virtual unsigned char __cdecl MESSAGE::IsInSetup(void) __ptr64
?IsInSetup@MESSAGE@@UEAAEXZ
; public: unsigned char __cdecl KEYBOARD::IsKeyAvailable(unsigned char * __ptr64)const  __ptr64
?IsKeyAvailable@KEYBOARD@@QEBAEPEAE@Z
; public: virtual unsigned char __cdecl MESSAGE::IsKeyPressed(unsigned long,unsigned long) __ptr64
?IsKeyPressed@MESSAGE@@UEAAEKK@Z
; public: unsigned char __cdecl MESSAGE::IsLoggingEnabled(void) __ptr64
?IsLoggingEnabled@MESSAGE@@QEAAEXZ
; public: unsigned char __cdecl OBJECT::IsSameClass(class OBJECT const * __ptr64)const  __ptr64
?IsSameClass@OBJECT@@QEBAEPEBV1@@Z
; public: unsigned char __cdecl OBJECT::IsSameObject(class OBJECT const * __ptr64)const  __ptr64
?IsSameObject@OBJECT@@QEBAEPEBV1@@Z
; public: virtual unsigned char __cdecl MESSAGE::IsSuppressedMessage(void) __ptr64
?IsSuppressedMessage@MESSAGE@@UEAAEXZ
; public: unsigned char __cdecl ARGUMENT::IsValueSet(void) __ptr64
?IsValueSet@ARGUMENT@@QEAAEXZ
; public: virtual unsigned char __cdecl CHKDSK_MESSAGE::IsYesResponse(unsigned char) __ptr64
?IsYesResponse@CHKDSK_MESSAGE@@UEAAEE@Z
; public: virtual unsigned char __cdecl MESSAGE::IsYesResponse(unsigned char) __ptr64
?IsYesResponse@MESSAGE@@UEAAEE@Z
; public: virtual unsigned char __cdecl STREAM_MESSAGE::IsYesResponse(unsigned char) __ptr64
?IsYesResponse@STREAM_MESSAGE@@UEAAEE@Z
; public: void __cdecl MESSAGE::Lock(void) __ptr64
?Lock@MESSAGE@@QEAAXXZ
; public: unsigned char __cdecl MESSAGE::Log(char const * __ptr64,...) __ptr64
?Log@MESSAGE@@QEAAEPEBDZZ
; public: unsigned char __cdecl MESSAGE::LogMessage(class WSTRING const * __ptr64) __ptr64
?LogMessage@MESSAGE@@QEAAEPEBVWSTRING@@@Z
; public: unsigned char __cdecl MESSAGE::LogMsg(unsigned long) __ptr64
?LogMsg@MESSAGE@@QEAAEK@Z
; public: unsigned char __cdecl MESSAGE::LogMsg(unsigned long,char const * __ptr64,...) __ptr64
?LogMsg@MESSAGE@@QEAAEKPEBDZZ
; public: static class FSN_DIRECTORY * __ptr64 __cdecl SYSTEM::MakeDirectory(class PATH const * __ptr64,class PATH const * __ptr64,enum _COPY_ERROR * __ptr64,unsigned long (__cdecl*)(union _LARGE_INTEGER,union _LARGE_INTEGER,union _LARGE_INTEGER,union _LARGE_INTEGER,unsigned long,unsigned long,void * __ptr64,void * __ptr64,void * __ptr64),void * __ptr64,int * __ptr64,unsigned long)
?MakeDirectory@SYSTEM@@SAPEAVFSN_DIRECTORY@@PEBVPATH@@0PEAW4_COPY_ERROR@@P6AKT_LARGE_INTEGER@@222KKPEAX33@Z3PEAHK@Z
; public: static class FSN_FILE * __ptr64 __cdecl SYSTEM::MakeFile(class PATH const * __ptr64)
?MakeFile@SYSTEM@@SAPEAVFSN_FILE@@PEBVPATH@@@Z
; public: static class FSN_FILE * __ptr64 __cdecl SYSTEM::MakeTemporaryFile(class WSTRING const * __ptr64,class PATH const * __ptr64)
?MakeTemporaryFile@SYSTEM@@SAPEAVFSN_FILE@@PEBVWSTRING@@PEBVPATH@@@Z
; public: unsigned char __cdecl PATH::ModifyName(class WSTRING const * __ptr64) __ptr64
?ModifyName@PATH@@QEAAEPEBVWSTRING@@@Z
; public: unsigned char __cdecl SCREEN::MoveCursorTo(unsigned short,unsigned short) __ptr64
?MoveCursorTo@SCREEN@@QEAAEGG@Z
; public: virtual unsigned char __cdecl BDSTRING::NewBuf(unsigned long) __ptr64
?NewBuf@BDSTRING@@UEAAEK@Z
; public: virtual unsigned char __cdecl DSTRING::NewBuf(unsigned long) __ptr64
?NewBuf@DSTRING@@UEAAEK@Z
; public: virtual unsigned char __cdecl FSTRING::NewBuf(unsigned long) __ptr64
?NewBuf@FSTRING@@UEAAEK@Z
; public: unsigned long __cdecl BSTRING::NextChar(unsigned long) __ptr64
?NextChar@BSTRING@@QEAAKK@Z
; public: unsigned char __cdecl ARGUMENT_LEXEMIZER::PrepareToParse(class WSTRING * __ptr64) __ptr64
?PrepareToParse@ARGUMENT_LEXEMIZER@@QEAAEPEAVWSTRING@@@Z
; public: virtual unsigned char __cdecl ARRAY::Put(class OBJECT * __ptr64) __ptr64
?Put@ARRAY@@UEAAEPEAVOBJECT@@@Z
; public: virtual unsigned char __cdecl LIST::Put(class OBJECT * __ptr64) __ptr64
?Put@LIST@@UEAAEPEAVOBJECT@@@Z
; public: virtual unsigned char __cdecl SORTED_LIST::Put(class OBJECT * __ptr64) __ptr64
?Put@SORTED_LIST@@UEAAEPEAVOBJECT@@@Z
; public: void __cdecl ARGUMENT_LEXEMIZER::PutMultipleSwitch(char const * __ptr64) __ptr64
?PutMultipleSwitch@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
; public: void __cdecl ARGUMENT_LEXEMIZER::PutMultipleSwitch(class WSTRING const * __ptr64) __ptr64
?PutMultipleSwitch@ARGUMENT_LEXEMIZER@@QEAAXPEBVWSTRING@@@Z
; public: void __cdecl ARGUMENT_LEXEMIZER::PutSeparators(char const * __ptr64) __ptr64
?PutSeparators@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
; protected: void __cdecl BSTRING::PutString(char * __ptr64,unsigned long) __ptr64
?PutString@BSTRING@@IEAAXPEADK@Z
; protected: void __cdecl WSTRING::PutString(unsigned short * __ptr64) __ptr64
?PutString@WSTRING@@IEAAXPEAG@Z
; protected: void __cdecl WSTRING::PutString(unsigned short * __ptr64,unsigned long) __ptr64
?PutString@WSTRING@@IEAAXPEAGK@Z
; public: void __cdecl ARGUMENT_LEXEMIZER::PutSwitches(char const * __ptr64) __ptr64
?PutSwitches@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
; public: void __cdecl ARGUMENT_LEXEMIZER::PutSwitches(class WSTRING const * __ptr64) __ptr64
?PutSwitches@ARGUMENT_LEXEMIZER@@QEAAXPEBVWSTRING@@@Z
; public: unsigned long __cdecl WSTRING::QueryByteCount(void)const  __ptr64
?QueryByteCount@WSTRING@@QEBAKXZ
; public: unsigned short __cdecl WSTRING::QueryChAt(unsigned long)const  __ptr64
?QueryChAt@WSTRING@@QEBAGK@Z
; public: unsigned long __cdecl BSTRING::QueryChCount(void)const  __ptr64
?QueryChCount@BSTRING@@QEBAKXZ
; public: unsigned long __cdecl WSTRING::QueryChCount(void)const  __ptr64
?QueryChCount@WSTRING@@QEBAKXZ
; public: unsigned __int64 __cdecl OBJECT::QueryClassId(void)const  __ptr64
?QueryClassId@OBJECT@@QEBA_KXZ
; public: unsigned long __cdecl SCREEN::QueryCodePage(void) __ptr64
?QueryCodePage@SCREEN@@QEAAKXZ
; public: class ARRAY * __ptr64 __cdecl PATH::QueryComponentArray(class ARRAY * __ptr64)const  __ptr64
?QueryComponentArray@PATH@@QEBAPEAVARRAY@@PEAV2@@Z
; public: static unsigned char __cdecl SYSTEM::QueryCurrentDosDriveName(class WSTRING * __ptr64)
?QueryCurrentDosDriveName@SYSTEM@@SAEPEAVWSTRING@@@Z
; public: unsigned char __cdecl TIMEINFO::QueryDate(class WSTRING * __ptr64)const  __ptr64
?QueryDate@TIMEINFO@@QEBAEPEAVWSTRING@@@Z
; public: static class FSN_DIRECTORY * __ptr64 __cdecl SYSTEM::QueryDirectory(class PATH const * __ptr64,unsigned char)
?QueryDirectory@SYSTEM@@SAPEAVFSN_DIRECTORY@@PEBVPATH@@E@Z
; public: static enum DRIVE_TYPE  __cdecl SYSTEM::QueryDriveType(class WSTRING const * __ptr64)
?QueryDriveType@SYSTEM@@SA?AW4DRIVE_TYPE@@PEBVWSTRING@@@Z
; public: static class WSTRING * __ptr64 __cdecl SYSTEM::QueryEnvironmentVariable(class WSTRING const * __ptr64)
?QueryEnvironmentVariable@SYSTEM@@SAPEAVWSTRING@@PEBV2@@Z
; public: static class FSN_FILE * __ptr64 __cdecl SYSTEM::QueryFile(class PATH const * __ptr64,unsigned char,unsigned char * __ptr64)
?QueryFile@SYSTEM@@SAPEAVFSN_FILE@@PEBVPATH@@EPEAE@Z
; public: static enum FILE_TYPE  __cdecl SYSTEM::QueryFileType(class WSTRING const * __ptr64)
?QueryFileType@SYSTEM@@SA?AW4FILE_TYPE@@PEBVWSTRING@@@Z
; public: class ARRAY * __ptr64 __cdecl FSN_DIRECTORY::QueryFsnodeArray(class FSN_FILTER * __ptr64)const  __ptr64
?QueryFsnodeArray@FSN_DIRECTORY@@QEBAPEAVARRAY@@PEAVFSN_FILTER@@@Z
; public: class PATH * __ptr64 __cdecl PATH::QueryFullPath(void)const  __ptr64
?QueryFullPath@PATH@@QEBAPEAV1@XZ
; public: class WSTRING * __ptr64 __cdecl PATH::QueryFullPathString(void)const  __ptr64
?QueryFullPathString@PATH@@QEBAPEAVWSTRING@@XZ
; public: class WSTRING * __ptr64 __cdecl PATH::QueryGuidString(class WSTRING * __ptr64,unsigned char * __ptr64,class WSTRING * __ptr64) __ptr64
?QueryGuidString@PATH@@QEAAPEAVWSTRING@@PEAV2@PEAE0@Z
; public: class WSTRING * __ptr64 __cdecl ARGUMENT_LEXEMIZER::QueryInvalidArgument(void) __ptr64
?QueryInvalidArgument@ARGUMENT_LEXEMIZER@@QEAAPEAVWSTRING@@XZ
; public: virtual class ITERATOR * __ptr64 __cdecl ARRAY::QueryIterator(void)const  __ptr64
?QueryIterator@ARRAY@@UEBAPEAVITERATOR@@XZ
; public: virtual class ITERATOR * __ptr64 __cdecl LIST::QueryIterator(void)const  __ptr64
?QueryIterator@LIST@@UEBAPEAVITERATOR@@XZ
; public: virtual class ITERATOR * __ptr64 __cdecl SORTED_LIST::QueryIterator(void)const  __ptr64
?QueryIterator@SORTED_LIST@@UEBAPEAVITERATOR@@XZ
; public: static __int64 (__cdecl*__cdecl SYSTEM::QueryLibraryEntryPoint(class WSTRING const * __ptr64,class WSTRING const * __ptr64,void * __ptr64 * __ptr64))(void)
?QueryLibraryEntryPoint@SYSTEM@@SAP6A_JXZPEBVWSTRING@@0PEAPEAX@Z
; public: static unsigned char __cdecl SYSTEM::QueryLocalTimeFromUTime(class TIMEINFO const * __ptr64,class TIMEINFO * __ptr64)
?QueryLocalTimeFromUTime@SYSTEM@@SAEPEBVTIMEINFO@@PEAV2@@Z
; public: virtual unsigned long __cdecl SORTED_LIST::QueryMemberCount(void)const  __ptr64
?QueryMemberCount@SORTED_LIST@@UEBAKXZ
; public: class PATH * __ptr64 __cdecl PATH::QueryMountPointPath(void) __ptr64
?QueryMountPointPath@PATH@@QEAAPEAV1@XZ
; public: unsigned char __cdecl MESSAGE::QueryNextLoggedMessage(class FSTRING * __ptr64) __ptr64
?QueryNextLoggedMessage@MESSAGE@@QEAAEPEAVFSTRING@@@Z
; public: unsigned char __cdecl WSTRING::QueryNumber(long * __ptr64,unsigned long,unsigned long)const  __ptr64
?QueryNumber@WSTRING@@QEBAEPEAJKK@Z
; public: unsigned char __cdecl MESSAGE::QueryPackedLog(class HMEM * __ptr64,unsigned long * __ptr64) __ptr64
?QueryPackedLog@MESSAGE@@QEAAEPEAVHMEM@@PEAK@Z
; public: class PATH * __ptr64 __cdecl PATH::QueryPath(void)const  __ptr64
?QueryPath@PATH@@QEBAPEAV1@XZ
; public: static unsigned char __cdecl BASE_SYSTEM::QueryResourceString(class WSTRING * __ptr64,unsigned long,char const * __ptr64,...)
?QueryResourceString@BASE_SYSTEM@@SAEPEAVWSTRING@@KPEBDZZ
; public: static unsigned char __cdecl BASE_SYSTEM::QueryResourceStringV(class WSTRING * __ptr64,unsigned long,char const * __ptr64,char * __ptr64)
?QueryResourceStringV@BASE_SYSTEM@@SAEPEAVWSTRING@@KPEBDPEAD@Z
; public: class WSTRING * __ptr64 __cdecl PATH::QueryRoot(void) __ptr64
?QueryRoot@PATH@@QEAAPEAVWSTRING@@XZ
; public: char * __ptr64 __cdecl BSTRING::QuerySTR(unsigned long,unsigned long,char * __ptr64,unsigned long,unsigned char)const  __ptr64
?QuerySTR@BSTRING@@QEBAPEADKKPEADKE@Z
; public: char * __ptr64 __cdecl WSTRING::QuerySTR(unsigned long,unsigned long,char * __ptr64,unsigned long,unsigned char)const  __ptr64
?QuerySTR@WSTRING@@QEBAPEADKKPEADKE@Z
; public: void __cdecl SCREEN::QueryScreenSize(unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64,unsigned short * __ptr64)const  __ptr64
?QueryScreenSize@SCREEN@@QEBAXPEAG000@Z
; public: class FILE_STREAM * __ptr64 __cdecl FSN_FILE::QueryStream(enum STREAMACCESS,unsigned long) __ptr64
?QueryStream@FSN_FILE@@QEAAPEAVFILE_STREAM@@W4STREAMACCESS@@K@Z
; public: class WSTRING * __ptr64 __cdecl WSTRING::QueryString(unsigned long,unsigned long)const  __ptr64
?QueryString@WSTRING@@QEBAPEAV1@KK@Z
; public: virtual unsigned char __cdecl MESSAGE::QueryStringInput(class WSTRING * __ptr64) __ptr64
?QueryStringInput@MESSAGE@@UEAAEPEAVWSTRING@@@Z
; public: static class PATH * __ptr64 __cdecl SYSTEM::QuerySystemDirectory(void)
?QuerySystemDirectory@SYSTEM@@SAPEAVPATH@@XZ
; public: unsigned char __cdecl TIMEINFO::QueryTime(class WSTRING * __ptr64)const  __ptr64
?QueryTime@TIMEINFO@@QEBAEPEAVWSTRING@@@Z
; public: unsigned char __cdecl COMM_DEVICE::QueryTimeOut(void)const  __ptr64
?QueryTimeOut@COMM_DEVICE@@QEBAEXZ
; public: static class WSTRING * __ptr64 __cdecl SYSTEM::QueryVolumeLabel(class PATH * __ptr64,struct _VOL_SERIAL_NUMBER * __ptr64)
?QueryVolumeLabel@SYSTEM@@SAPEAVWSTRING@@PEAVPATH@@PEAU_VOL_SERIAL_NUMBER@@@Z
; public: class PATH * __ptr64 __cdecl PATH::QueryWCExpansion(class PATH * __ptr64) __ptr64
?QueryWCExpansion@PATH@@QEAAPEAV1@PEAV1@@Z
; public: unsigned short * __ptr64 __cdecl WSTRING::QueryWSTR(unsigned long,unsigned long,unsigned short * __ptr64,unsigned long,unsigned char)const  __ptr64
?QueryWSTR@WSTRING@@QEBAPEAGKKPEAGKE@Z
; public: static unsigned char __cdecl SYSTEM::QueryWindowsErrorMessage(unsigned long,class WSTRING * __ptr64)
?QueryWindowsErrorMessage@SYSTEM@@SAEKPEAVWSTRING@@@Z
; public: unsigned char __cdecl FILE_STREAM::ReadAt(unsigned char * __ptr64,unsigned long,__int64,enum SEEKORIGIN,unsigned long * __ptr64) __ptr64
?ReadAt@FILE_STREAM@@QEAAEPEAEK_JW4SEEKORIGIN@@PEAK@Z
; public: unsigned char __cdecl STREAM::ReadLine(class WSTRING * __ptr64,unsigned char) __ptr64
?ReadLine@STREAM@@QEAAEPEAVWSTRING@@E@Z
; public: unsigned char __cdecl STREAM::ReadMbLine(char * __ptr64,unsigned long,unsigned long * __ptr64,unsigned char,unsigned long) __ptr64
?ReadMbLine@STREAM@@QEAAEPEADKPEAKEK@Z
; public: unsigned char __cdecl STREAM::ReadWLine(unsigned short * __ptr64,unsigned long,unsigned long * __ptr64,unsigned char,unsigned long) __ptr64
?ReadWLine@STREAM@@QEAAEPEAGKPEAKEK@Z
; public: virtual class OBJECT * __ptr64 __cdecl ARRAY::Remove(class ITERATOR * __ptr64) __ptr64
?Remove@ARRAY@@UEAAPEAVOBJECT@@PEAVITERATOR@@@Z
; public: static unsigned char __cdecl SYSTEM::RemoveNode(class FSNODE * __ptr64 * __ptr64,unsigned char)
?RemoveNode@SYSTEM@@SAEPEAPEAVFSNODE@@E@Z
; public: unsigned char __cdecl WSTRING::Replace(unsigned long,unsigned long,class WSTRING const * __ptr64,unsigned long,unsigned long) __ptr64
?Replace@WSTRING@@QEAAEKKPEBV1@KK@Z
; public: unsigned char __cdecl BSTRING::ReplaceWithChars(unsigned long,unsigned long,char,unsigned long) __ptr64
?ReplaceWithChars@BSTRING@@QEAAEKKDK@Z
; public: unsigned char __cdecl WSTRING::ReplaceWithChars(unsigned long,unsigned long,unsigned short,unsigned long) __ptr64
?ReplaceWithChars@WSTRING@@QEAAEKKGK@Z
; public: void __cdecl BITVECTOR::ResetBit(unsigned long,unsigned long) __ptr64
?ResetBit@BITVECTOR@@QEAAXKK@Z
; public: static void __cdecl WSTRING::ResetConversions(void)
?ResetConversions@WSTRING@@SAXXZ
; public: void __cdecl MESSAGE::ResetLoggingIterator(void) __ptr64
?ResetLoggingIterator@MESSAGE@@QEAAXXZ
; public: virtual unsigned char __cdecl BDSTRING::Resize(unsigned long) __ptr64
?Resize@BDSTRING@@UEAAEK@Z
; public: virtual unsigned char __cdecl DSTRING::Resize(unsigned long) __ptr64
?Resize@DSTRING@@UEAAEK@Z
; public: virtual unsigned char __cdecl FSTRING::Resize(unsigned long) __ptr64
?Resize@FSTRING@@UEAAEK@Z
; public: unsigned char __cdecl HMEM::Resize(unsigned long,unsigned long) __ptr64
?Resize@HMEM@@QEAAEKK@Z
; public: static class PATH * __ptr64 __cdecl SYSTEM::SearchPathW(class WSTRING * __ptr64,class WSTRING * __ptr64)
?SearchPathW@SYSTEM@@SAPEAVPATH@@PEAVWSTRING@@0@Z
; public: virtual unsigned long __cdecl MESSAGE::SelectResponse(unsigned long,...) __ptr64
?SelectResponse@MESSAGE@@UEAAKKZZ
; public: virtual unsigned char __cdecl CHKDSK_MESSAGE::Set(unsigned long,enum MESSAGE_TYPE,unsigned long) __ptr64
?Set@CHKDSK_MESSAGE@@UEAAEKW4MESSAGE_TYPE@@K@Z
; public: virtual unsigned char __cdecl STREAM_MESSAGE::Set(unsigned long,enum MESSAGE_TYPE,unsigned long) __ptr64
?Set@STREAM_MESSAGE@@UEAAEKW4MESSAGE_TYPE@@K@Z
; public: void __cdecl ARGUMENT_LEXEMIZER::SetAllowSwitchGlomming(unsigned char) __ptr64
?SetAllowSwitchGlomming@ARGUMENT_LEXEMIZER@@QEAAXE@Z
; public: static void __cdecl WSTRING::SetAnsiConversions(void)
?SetAnsiConversions@WSTRING@@SAXXZ
; public: unsigned char __cdecl FSN_FILTER::SetAttributes(unsigned long,unsigned long,unsigned long) __ptr64
?SetAttributes@FSN_FILTER@@QEAAEKKK@Z
; public: unsigned char __cdecl COMM_DEVICE::SetBaudRate(unsigned long) __ptr64
?SetBaudRate@COMM_DEVICE@@QEAAEK@Z
; public: void __cdecl BITVECTOR::SetBit(unsigned long,unsigned long) __ptr64
?SetBit@BITVECTOR@@QEAAXKK@Z
; public: void __cdecl ARGUMENT_LEXEMIZER::SetCaseSensitive(unsigned char) __ptr64
?SetCaseSensitive@ARGUMENT_LEXEMIZER@@QEAAXE@Z
; public: unsigned short __cdecl WSTRING::SetChAt(unsigned short,unsigned long) __ptr64
?SetChAt@WSTRING@@QEAAGGK@Z
; protected: void __cdecl OBJECT::SetClassDescriptor(class CLASS_DESCRIPTOR const * __ptr64) __ptr64
?SetClassDescriptor@OBJECT@@IEAAXPEBVCLASS_DESCRIPTOR@@@Z
; public: unsigned char __cdecl SCREEN::SetCodePage(unsigned long) __ptr64
?SetCodePage@SCREEN@@QEAAEK@Z
; public: static void __cdecl WSTRING::SetConsoleConversions(void)
?SetConsoleConversions@WSTRING@@SAXXZ
; public: unsigned char __cdecl COMM_DEVICE::SetDataBits(unsigned long) __ptr64
?SetDataBits@COMM_DEVICE@@QEAAEK@Z
; public: unsigned char __cdecl PATH::SetDevice(class WSTRING const * __ptr64) __ptr64
?SetDevice@PATH@@QEAAEPEBVWSTRING@@@Z
; public: virtual unsigned char __cdecl MESSAGE::SetDotsOnly(unsigned char) __ptr64
?SetDotsOnly@MESSAGE@@UEAAEE@Z
; public: unsigned char __cdecl COMM_DEVICE::SetDtrControl(enum DTR_CONTROL) __ptr64
?SetDtrControl@COMM_DEVICE@@QEAAEW4DTR_CONTROL@@@Z
; public: unsigned char __cdecl FSN_FILTER::SetFileName(char const * __ptr64) __ptr64
?SetFileName@FSN_FILTER@@QEAAEPEBD@Z
; public: unsigned char __cdecl FSN_FILTER::SetFileName(class WSTRING const * __ptr64) __ptr64
?SetFileName@FSN_FILTER@@QEAAEPEBVWSTRING@@@Z
; public: unsigned char __cdecl COMM_DEVICE::SetIdsr(unsigned char) __ptr64
?SetIdsr@COMM_DEVICE@@QEAAEE@Z
; public: void __cdecl MESSAGE::SetLoggingEnabled(unsigned char) __ptr64
?SetLoggingEnabled@MESSAGE@@QEAAXE@Z
; public: unsigned char __cdecl PATH::SetName(class WSTRING const * __ptr64) __ptr64
?SetName@PATH@@QEAAEPEBVWSTRING@@@Z
; public: void __cdecl ARGUMENT_LEXEMIZER::SetNoSpcBetweenDstAndSwitch(unsigned char) __ptr64
?SetNoSpcBetweenDstAndSwitch@ARGUMENT_LEXEMIZER@@QEAAXE@Z
; public: unsigned char __cdecl COMM_DEVICE::SetOcts(unsigned char) __ptr64
?SetOcts@COMM_DEVICE@@QEAAEE@Z
; public: unsigned char __cdecl COMM_DEVICE::SetOdsr(unsigned char) __ptr64
?SetOdsr@COMM_DEVICE@@QEAAEE@Z
; public: static void __cdecl WSTRING::SetOemConversions(void)
?SetOemConversions@WSTRING@@SAXXZ
; public: unsigned char __cdecl SCREEN::SetOutputCodePage(unsigned long) __ptr64
?SetOutputCodePage@SCREEN@@QEAAEK@Z
; public: unsigned char __cdecl COMM_DEVICE::SetParity(enum PARITY) __ptr64
?SetParity@COMM_DEVICE@@QEAAEW4PARITY@@@Z
; public: unsigned char __cdecl COMM_DEVICE::SetRtsControl(enum RTS_CONTROL) __ptr64
?SetRtsControl@COMM_DEVICE@@QEAAEW4RTS_CONTROL@@@Z
; public: unsigned long __cdecl BITVECTOR::SetSize(unsigned long,enum BIT) __ptr64
?SetSize@BITVECTOR@@QEAAKKW4BIT@@@Z
; public: unsigned char __cdecl COMM_DEVICE::SetStopBits(enum STOPBITS) __ptr64
?SetStopBits@COMM_DEVICE@@QEAAEW4STOPBITS@@@Z
; public: unsigned char __cdecl FSN_FILTER::SetTimeInfo(class TIMEINFO const * __ptr64,enum FSN_TIME,unsigned short) __ptr64
?SetTimeInfo@FSN_FILTER@@QEAAEPEBVTIMEINFO@@W4FSN_TIME@@G@Z
; public: unsigned char __cdecl COMM_DEVICE::SetTimeOut(unsigned char) __ptr64
?SetTimeOut@COMM_DEVICE@@QEAAEE@Z
; public: unsigned char __cdecl COMM_DEVICE::SetXon(unsigned char) __ptr64
?SetXon@COMM_DEVICE@@QEAAEE@Z
; public: static unsigned short * __ptr64 __cdecl WSTRING::SkipWhite(unsigned short * __ptr64)
?SkipWhite@WSTRING@@SAPEAGPEAG@Z
; public: virtual unsigned char __cdecl STRING_ARRAY::Sort(unsigned char) __ptr64
?Sort@STRING_ARRAY@@UEAAEE@Z
; public: unsigned char __cdecl WSTRING::Strcat(class WSTRING const * __ptr64) __ptr64
?Strcat@WSTRING@@QEAAEPEBV1@@Z
; public: unsigned long __cdecl BSTRING::Strchr(char,unsigned long)const  __ptr64
?Strchr@BSTRING@@QEBAKDK@Z
; public: unsigned long __cdecl WSTRING::Strchr(unsigned short,unsigned long)const  __ptr64
?Strchr@WSTRING@@QEBAKGK@Z
; public: long __cdecl WSTRING::Strcmp(class WSTRING const * __ptr64)const  __ptr64
?Strcmp@WSTRING@@QEBAJPEBV1@@Z
; public: long __cdecl WSTRING::Strcmp(class WSTRING const * __ptr64,unsigned long)const  __ptr64
?Strcmp@WSTRING@@QEBAJPEBV1@K@Z
; public: long __cdecl WSTRING::Strcmp(class WSTRING const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long)const  __ptr64
?Strcmp@WSTRING@@QEBAJPEBV1@KKKK@Z
; public: static int __cdecl WSTRING::Strcmp(unsigned short * __ptr64,unsigned short * __ptr64)
?Strcmp@WSTRING@@SAHPEAG0@Z
; public: static int __cdecl MBSTR::Strcmpis(char * __ptr64,char * __ptr64)
?Strcmpis@MBSTR@@SAHPEAD0@Z
; public: static int __cdecl WSTRING::Strcmpis(unsigned short * __ptr64,unsigned short * __ptr64)
?Strcmpis@WSTRING@@SAHPEAG0@Z
; public: static int __cdecl MBSTR::Strcmps(char * __ptr64,char * __ptr64)
?Strcmps@MBSTR@@SAHPEAD0@Z
; public: static int __cdecl WSTRING::Strcmps(unsigned short * __ptr64,unsigned short * __ptr64)
?Strcmps@WSTRING@@SAHPEAG0@Z
; public: unsigned long __cdecl WSTRING::Strcspn(class WSTRING const * __ptr64,unsigned long)const  __ptr64
?Strcspn@WSTRING@@QEBAKPEBV1@K@Z
; public: static int __cdecl MBSTR::Stricmp(char * __ptr64,char * __ptr64)
?Stricmp@MBSTR@@SAHPEAD0@Z
; public: long __cdecl WSTRING::Stricmp(class WSTRING const * __ptr64)const  __ptr64
?Stricmp@WSTRING@@QEBAJPEBV1@@Z
; public: long __cdecl WSTRING::Stricmp(class WSTRING const * __ptr64,unsigned long)const  __ptr64
?Stricmp@WSTRING@@QEBAJPEBV1@K@Z
; public: long __cdecl WSTRING::Stricmp(class WSTRING const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long)const  __ptr64
?Stricmp@WSTRING@@QEBAJPEBV1@KKKK@Z
; public: static int __cdecl WSTRING::Stricmp(unsigned short * __ptr64,unsigned short * __ptr64)
?Stricmp@WSTRING@@SAHPEAG0@Z
; public: class WSTRING * __ptr64 __cdecl WSTRING::Strlwr(unsigned long,unsigned long) __ptr64
?Strlwr@WSTRING@@QEAAPEAV1@KK@Z
; public: class WSTRING * __ptr64 __cdecl WSTRING::Strlwr(void) __ptr64
?Strlwr@WSTRING@@QEAAPEAV1@XZ
; public: unsigned long __cdecl WSTRING::Strrchr(unsigned short,unsigned long)const  __ptr64
?Strrchr@WSTRING@@QEBAKGK@Z
; public: unsigned long __cdecl WSTRING::Strspn(class WSTRING const * __ptr64,unsigned long)const  __ptr64
?Strspn@WSTRING@@QEBAKPEBV1@K@Z
; public: static char * __ptr64 __cdecl MBSTR::Strstr(char * __ptr64,char * __ptr64)
?Strstr@MBSTR@@SAPEADPEAD0@Z
; public: unsigned long __cdecl WSTRING::Strstr(class WSTRING const * __ptr64)const  __ptr64
?Strstr@WSTRING@@QEBAKPEBV1@@Z
; public: class WSTRING * __ptr64 __cdecl WSTRING::Strupr(unsigned long,unsigned long) __ptr64
?Strupr@WSTRING@@QEAAPEAV1@KK@Z
; public: class WSTRING * __ptr64 __cdecl WSTRING::Strupr(void) __ptr64
?Strupr@WSTRING@@QEAAPEAV1@XZ
; public: unsigned long __cdecl WSTRING::SyncLength(void) __ptr64
?SyncLength@WSTRING@@QEAAKXZ
; public: unsigned char __cdecl FSN_DIRECTORY::Traverse(void * __ptr64,class FSN_FILTER * __ptr64,class PATH * __ptr64,unsigned char (__cdecl*)(void * __ptr64,class FSNODE * __ptr64,class PATH * __ptr64))const  __ptr64
?Traverse@FSN_DIRECTORY@@QEBAEPEAXPEAVFSN_FILTER@@PEAVPATH@@P6AE0PEAVFSNODE@@2@Z@Z
; public: unsigned long __cdecl WSTRING::Truncate(unsigned long) __ptr64
?Truncate@WSTRING@@QEAAKK@Z
; public: unsigned char __cdecl PATH::TruncateBase(void) __ptr64
?TruncateBase@PATH@@QEAAEXZ
; public: void __cdecl PATH::TruncateDelimiter(void) __ptr64
?TruncateDelimiter@PATH@@QEAAXXZ
; public: void __cdecl PATH::TruncateNameAtColon(void) __ptr64
?TruncateNameAtColon@PATH@@QEAAXXZ
; void * __ptr64 __cdecl UlibRealloc(void * __ptr64,unsigned long)
?UlibRealloc@@YAPEAXPEAXK@Z
; public: void __cdecl MESSAGE::Unlock(void) __ptr64
?Unlock@MESSAGE@@QEAAXXZ
; public: virtual void __cdecl PROGRAM::Usage(void)const  __ptr64
?Usage@PROGRAM@@UEBAXXZ
; public: unsigned char __cdecl FSNODE::UseAlternateName(void) __ptr64
?UseAlternateName@FSNODE@@QEAAEXZ
; public: virtual void __cdecl PROGRAM::ValidateVersion(unsigned long,unsigned long)const  __ptr64
?ValidateVersion@PROGRAM@@UEBAXKK@Z
; public: virtual unsigned char __cdecl MESSAGE::WaitForUserSignal(void) __ptr64
?WaitForUserSignal@MESSAGE@@UEAAEXZ
; public: unsigned char __cdecl STREAM::WriteByte(unsigned char) __ptr64
?WriteByte@STREAM@@QEAAEE@Z
; private: static unsigned char  WSTRING::_UseAnsiConversions
?_UseAnsiConversions@WSTRING@@0EA DATA
; private: static unsigned char  WSTRING::_UseAnsiConversionsPrev
?_UseAnsiConversionsPrev@WSTRING@@0EA DATA
; private: static unsigned char  WSTRING::_UseConsoleConversions
?_UseConsoleConversions@WSTRING@@0EA DATA
; private: static unsigned char  WSTRING::_UseConsoleConversionsPrev
?_UseConsoleConversionsPrev@WSTRING@@0EA DATA
